Giriş
Storex API, sipariş yönetimi, ürün kataloğu ve stok takibi işlemlerini programatik olarak gerçekleştirmenizi sağlar.
X-API-KEY başlığında göndermelisiniz.https://siteniz.com/api/{endpoint}Kimlik Doğrulama
API'ye erişim için bir API anahtarı gereklidir.
- Yönetici panelinize giriş yapın
- Sağ üst köşedeki 🔑 API anahtarı ikonuna tıklayın
- API anahtarınızı kopyalayın
X-API-KEY: sizin-api-anahtariniz
Rate Limiting
Kötüye kullanımı önlemek için istek sınırlaması uygulanmaktadır.
429 Too Many Requests yanıtı döner.// Limit aşıldığında:
HTTP/1.1 429 Too Many Requests
Retry-After: 60
{
"durum": false,
"mesaj": "Çok fazla istek gönderdiniz. Lütfen 60 saniye sonra tekrar deneyin."
}
Kimlik
Panel kullanıcısının giriş bilgilerini doğrular ve API anahtarı oluşturur.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
kullaniciAdi | metin | Zorunlu | Panel kullanıcı adı |
sifre | metin | Zorunlu | Panel kullanıcı şifresi |
{
"durum": true,
"mesaj": "Giriş başarılı",
"veri": {
"kullanici": {
"id": 1,
"kullaniciAdi": "admin",
"tip": 1,
"telefon": "5551234567"
},
"apiAnahtari": {
"anahtar": "e5fb6cde8a7542c889bc73160aed26e9...",
"sonKullanim": "2027-02-21 15:30:42"
}
}
}
{
"durum": false,
"mesaj": "Kullanıcı adı veya şifre hatalı"
}
Sipariş Yönetimi
Sipariş listeleme, detay görüntüleme, filtreleme ve durum güncelleme işlemleri.
Sistemdeki siparişleri sayfalı olarak listeler.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
limit | sayı | Opsiyonel | Sayfa başına sipariş sayısı (varsayılan: 10) |
sayfa | sayı | Opsiyonel | Sayfa numarası (varsayılan: 1) |
durum | sayı | Opsiyonel | Sipariş durum kodu ile filtrele |
{
"durum": true,
"mesaj": "Siparişler başarıyla alındı",
"veri": {
"siparisler": [
{
"id": "999",
"sipID": "123456789012",
"ad": "Ali",
"soyad": "Veli",
"telefon": "05551234567",
"email": "ornek@example.com",
"adres": "Örnek Mahallesi No: 123",
"il": "Ankara",
"ilce": "Çankaya",
"siparis_tarihi": "1623456789",
"urun_tutar": "500.00",
"kargo_tutar": "10.00",
"kdv_tutar": "90.00",
"toplam_tutar": "600.00",
"kargo_adi": "Örnek Kargo",
"kargo_kodu": "KRG123456",
"durum": "1",
"siparis_notu": "Örnek not",
"siparis_tarihi_formati": "01.01.2025 12:00:00",
"durum_metni": "Ödeme Bekliyor"
}
],
"toplamSiparis": 25,
"sayfaSayisi": 3,
"mevcutSayfa": 1
}
}
Sipariş detayını, ürünlerini ve kargo takip bilgilerini getirir.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
id | sayı | Zorunlu | Sipariş ID'si |
{
"durum": true,
"mesaj": "Sipariş detayı başarıyla alındı",
"veri": {
"siparis": {
"id": "145",
"sipID": "987654321012",
"ad": "Ahmet",
"soyad": "Yılmaz",
"telefon": "05553334455",
"email": "ahmet@example.com",
"adres": "Atatürk Caddesi No: 10",
"il": "Ankara",
"ilce": "Çankaya",
"siparis_tarihi": "1743623490",
"urun_tutar": "1500.00",
"kargo_tutar": "10.00",
"kdv_tutar": "150.00",
"toplam_tutar": "1660.00",
"durum": "1",
"siparis_notu": "Lütfen akşam teslim edin",
"siparis_tarihi_formati": "03.05.2025 15:30:00",
"durum_metni": "Ödeme Bekliyor"
},
"urunler": [
{
"id": "300",
"siparis_id": "145",
"urun_id": "700",
"fiyat": "750.00",
"adet": "2",
"urun_adi": "Mavi Kot Pantolon",
"urun_aciklama": "Ürün açıklaması..."
}
],
"kargo_bilgisi_var": true,
"kargoTakip": [
{
"id": "90",
"kargo_adi": "Yurtiçi Kargo",
"kargo_no": "22222",
"link": "yurticikargo.com"
}
]
}
}
Çeşitli kriterlere göre siparişleri filtrelemenizi sağlar.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
limit | sayı | Opsiyonel | Sayfa başına sipariş sayısı (varsayılan: 10) |
sayfa | sayı | Opsiyonel | Sayfa numarası (varsayılan: 1) |
durum | sayı | Opsiyonel | Sipariş durum kodu |
baslangicTarihi | tarih | Opsiyonel | Başlangıç tarihi (YYYY-AA-GG) |
bitisTarihi | tarih | Opsiyonel | Bitiş tarihi (YYYY-AA-GG) |
arama | metin | Opsiyonel | Sipariş ID, ad, telefon veya e-posta ile arama |
{
"durum": true,
"mesaj": "Siparişler başarıyla filtrelendi",
"veri": {
"siparisler": [ ... ],
"toplamSiparis": 8,
"sayfaSayisi": 1,
"mevcutSayfa": 1
}
}
Belirtilen siparişin durumunu günceller. Opsiyonel olarak kargo bilgisi de eklenebilir.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
siparisId | sayı | Zorunlu | Sipariş ID'si |
durum | sayı | Zorunlu | Yeni durum kodu |
kargoAdi | metin | Opsiyonel | Kargo firma adı |
kargoKodu | metin | Opsiyonel | Kargo takip numarası |
{
"durum": true,
"mesaj": "Sipariş durumu güncellendi",
"veri": {
"eskiDurum": 1,
"yeniDurum": 4,
"durumMetni": "Kargoda"
}
}
{
"durum": false,
"mesaj": "Sipariş bulunamadı"
}
Ürün Yönetimi
Ürün listeleme, detay, arama ve stok kontrol işlemleri.
Aktif ürünleri sayfalı olarak listeler. Kategori, marka ve arama filtresi destekler.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
limit | sayı | Opsiyonel | Sayfa başına ürün sayısı (varsayılan: 10) |
sayfa | sayı | Opsiyonel | Sayfa numarası (varsayılan: 1) |
kategori | sayı | Opsiyonel | Kategori ID'sine göre filtrele |
marka | sayı | Opsiyonel | Marka ID'sine göre filtrele |
arama | metin | Opsiyonel | Ürün adı, barkod veya stok kodunda arama |
{
"durum": true,
"mesaj": "Ürünler başarıyla alındı",
"veri": {
"urunler": [
{
"UrunId": "1735",
"UrunAdi": "Ybr Konjektör Janshe",
"SefLink": "ybr-konjektor-janshe",
"KisaAciklama": "Ürün hakkında kısa açıklama",
"Fiyat": "260.00",
"EskiFiyat": "6",
"Stok": 2,
"StokKodu": "00311",
"Barkod": "BS32093603",
"Kdv": 20,
"KargoFiyati": "0",
"MarkaId": 95,
"MarkaAdi": "JANSE",
"Mensei": "Türkiye",
"UrunKonum": "hepsi",
"OlusturmaTarihi": "2025-12-21 03:25:41",
"AnaGorsel": "ybr-konjektor-janshe.webp",
"Kategoriler": [
{"id": 400, "baslik": "Motor Parçaları"},
{"id": 401, "baslik": "Konjektör"}
]
}
],
"toplamUrun": 25,
"sayfaSayisi": 3,
"mevcutSayfa": 1
}
}
Ürünün tüm detaylarını, görsellerini, kategorilerini, varyant ve kombinasyon bilgilerini getirir.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
id | sayı | Zorunlu | Ürün ID'si |
{
"durum": true,
"mesaj": "Ürün detayı başarıyla alındı",
"veri": {
"urun": {
"UrunId": "1735",
"UrunAdi": "Ybr Konjektör Janshe",
"SefLink": "ybr-konjektor-janshe",
"KisaAciklama": "Ürün hakkında kısa açıklama",
"Aciklama": "<p>YBR KONJEKTÖR JANSHE</p>",
"Fiyat": "260.00",
"EskiFiyat": "6",
"Stok": 2,
"StokKodu": "00311",
"Barkod": "BS32093603",
"Kdv": 20,
"KargoFiyati": "0",
"MarkaAdi": "JANSE",
"Mensei": "Türkiye",
"AsgariAdet": 1,
"UrunPuan": "6.3",
"UrunDesi": "1.00"
},
"gorseller": [
{"id": 1664, "Resim": "ybr-konjektor-janshe.webp", "Sira": 1}
],
"kategoriler": [
{"id": 400, "baslik": "Motor Parçaları", "sef": "motor-parcalari"}
],
"varyantlar": [
{
"grupId": 1,
"grupAdi": "Beden",
"secenekler": [
{"Id": 1, "SecenekAdi": "XS", "Sira": 1},
{"Id": 2, "SecenekAdi": "S", "Sira": 2}
]
}
],
"kombinasyonlar": [
{
"Id": 16,
"StokKodu": "00311-S-Mavi",
"Barkod": "BS32093603-S-Mavi",
"Stok": 2,
"EkFiyat": "1.00",
"secenekler": [
{"GrupAdi": "Beden", "SecenekAdi": "S"},
{"GrupAdi": "Renk", "SecenekAdi": "Mavi"}
]
}
]
}
}
Ürün adı, barkod veya stok koduna göre hızlı arama yapar.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
arama | metin | Zorunlu | Aranacak kelime |
limit | sayı | Opsiyonel | Maksimum sonuç sayısı (varsayılan: 20) |
{
"durum": true,
"mesaj": "Arama sonuçları",
"veri": {
"urunler": [
{
"UrunId": "1735",
"UrunAdi": "Ybr Konjektör Janshe",
"Fiyat": "260.00",
"Stok": 2,
"Barkod": "BS32093603",
"AnaGorsel": "ybr-konjektor-janshe.webp"
}
]
}
}
Ürün veya varyant kombinasyonunun stok durumunu sorgular.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
urunId | sayı | Zorunlu | Ürün ID'si |
kombinasyonId | sayı | Opsiyonel | Varyant kombinasyon ID (belirtilirse kombinasyonun stoku döner) |
{
"durum": true,
"mesaj": "Stok bilgisi",
"veri": {
"stok": 2,
"stokVar": true
}
}
Katalog
Kategori ve marka listeleme işlemleri.
Aktif kategorileri listeler. Alt kategorileri filtrelemek için üst kategori ID'si gönderilebilir.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
ustKategori | sayı | Opsiyonel | Üst kategori ID (0 = ana kategoriler) |
{
"durum": true,
"mesaj": "Kategoriler başarıyla alındı",
"veri": {
"kategoriler": [
{
"KategoriId": 393,
"KategoriAdi": "Eşofman & Sweatshirt",
"SefLink": "esofman-sweatshirt",
"UstKategoriId": 0,
"Gorsel": "icon.png",
"Sira": 0,
"UrunSayisi": 5
}
]
}
}
Aktif markaları ve her markadaki ürün sayısını listeler.
{
"durum": true,
"mesaj": "Markalar başarıyla alındı",
"veri": {
"markalar": [
{
"MarkaId": 6,
"MarkaAdi": "MSR",
"SefLink": null,
"Gorsel": "bos-logo.png",
"UrunSayisi": 1
}
]
}
}
Sipariş Durum Kodları
Sipariş filtreleme ve durum güncelleme işlemlerinde kullanılan durum kodları.
Kod Örnekleri
Farklı programlama dilleri ile API kullanım örnekleri.
$ApiAnahtari = "sizin-api-anahtariniz";
$BaseUrl = "https://sizin-siteniz.com";
// Kullanıcı girişi ve API anahtarı alma
function KullaniciGirisi($BaseUrl, $KullaniciAdi, $Sifre) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$BaseUrl/api/giris");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"kullaniciAdi" => $KullaniciAdi,
"sifre" => $Sifre
]));
$Yanit = curl_exec($ch);
curl_close($ch);
return json_decode($Yanit, true);
}
// Siparişleri listeleme
function SiparisleriGetir($BaseUrl, $ApiAnahtari, $Limit = 10, $Sayfa = 1) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$BaseUrl/api/siparisler?limit=$Limit&sayfa=$Sayfa");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-KEY: $ApiAnahtari"]);
$Yanit = curl_exec($ch);
curl_close($ch);
return json_decode($Yanit, true);
}
// Ürünleri listeleme
function UrunleriGetir($BaseUrl, $ApiAnahtari, $Limit = 10, $Sayfa = 1) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$BaseUrl/api/urunler?limit=$Limit&sayfa=$Sayfa");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-KEY: $ApiAnahtari"]);
$Yanit = curl_exec($ch);
curl_close($ch);
return json_decode($Yanit, true);
}
// Sipariş durumu güncelleme
function SiparisDurumGuncelle($BaseUrl, $ApiAnahtari, $SiparisId, $Durum) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$BaseUrl/api/siparisDurumGuncelle");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-KEY: $ApiAnahtari",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"siparisId" => $SiparisId,
"durum" => $Durum
]));
$Yanit = curl_exec($ch);
curl_close($ch);
return json_decode($Yanit, true);
}
// Kullanım
$Siparisler = SiparisleriGetir($BaseUrl, $ApiAnahtari, 20, 1);
$Urunler = UrunleriGetir($BaseUrl, $ApiAnahtari);
$Guncelle = SiparisDurumGuncelle($BaseUrl, $ApiAnahtari, 145, 4);
const apiKey = "sizin-api-anahtariniz";
const baseUrl = "https://sizin-siteniz.com";
const headers = { "X-API-KEY": apiKey };
// Kullanıcı girişi
async function kullaniciGirisi(kullaniciAdi, sifre) {
const res = await fetch(`${baseUrl}/api/giris`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ kullaniciAdi, sifre })
});
return res.json();
}
// Siparişleri listeleme
async function siparisleriGetir(limit = 10, sayfa = 1) {
const res = await fetch(
`${baseUrl}/api/siparisler?limit=${limit}&sayfa=${sayfa}`,
{ headers }
);
return res.json();
}
// Ürünleri listeleme
async function urunleriGetir(limit = 10, sayfa = 1) {
const res = await fetch(
`${baseUrl}/api/urunler?limit=${limit}&sayfa=${sayfa}`,
{ headers }
);
return res.json();
}
// Sipariş durumu güncelleme
async function siparisDurumGuncelle(siparisId, durum) {
const res = await fetch(`${baseUrl}/api/siparisDurumGuncelle`, {
method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({ siparisId, durum })
});
return res.json();
}
// Kullanım
siparisleriGetir(20, 1).then(d => console.log(d));
urunleriGetir().then(d => console.log(d));
siparisDurumGuncelle(145, 4).then(d => console.log(d));
const axios = require("axios");
const apiKey = "sizin-api-anahtariniz";
const baseURL = "https://sizin-siteniz.com";
const api = axios.create({
baseURL,
headers: { "X-API-KEY": apiKey }
});
// Kullanıcı girişi
async function kullaniciGirisi(kullaniciAdi, sifre) {
const { data } = await axios.post(`${baseURL}/api/giris`, {
kullaniciAdi, sifre
});
return data;
}
// Siparişleri listeleme
async function siparisleriGetir(limit = 10, sayfa = 1) {
const { data } = await api.get("/api/siparisler", {
params: { limit, sayfa }
});
return data;
}
// Ürünleri listeleme
async function urunleriGetir(limit = 10, sayfa = 1) {
const { data } = await api.get("/api/urunler", {
params: { limit, sayfa }
});
return data;
}
// Sipariş durumu güncelleme
async function siparisDurumGuncelle(siparisId, durum) {
const { data } = await api.post("/api/siparisDurumGuncelle", {
siparisId, durum
});
return data;
}
// Kullanım
(async () => {
console.log(await siparisleriGetir(20, 1));
console.log(await urunleriGetir());
console.log(await siparisDurumGuncelle(145, 4));
})();
import requests
api_key = "sizin-api-anahtariniz"
base_url = "https://sizin-siteniz.com"
headers = {"X-API-KEY": api_key}
# Kullanıcı girişi
def kullanici_girisi(kullanici_adi, sifre):
res = requests.post(f"{base_url}/api/giris", json={
"kullaniciAdi": kullanici_adi,
"sifre": sifre
})
return res.json()
# Siparişleri listeleme
def siparisleri_getir(limit=10, sayfa=1):
res = requests.get(
f"{base_url}/api/siparisler",
headers=headers,
params={"limit": limit, "sayfa": sayfa}
)
return res.json()
# Ürünleri listeleme
def urunleri_getir(limit=10, sayfa=1):
res = requests.get(
f"{base_url}/api/urunler",
headers=headers,
params={"limit": limit, "sayfa": sayfa}
)
return res.json()
# Sipariş durumu güncelleme
def siparis_durum_guncelle(siparis_id, durum):
res = requests.post(
f"{base_url}/api/siparisDurumGuncelle",
headers=headers,
json={"siparisId": siparis_id, "durum": durum}
)
return res.json()
# Kullanım
print(siparisleri_getir(20, 1))
print(urunleri_getir())
print(siparis_durum_guncelle(145, 4))
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpResponse.BodyHandlers;
public class StorexApi {
static final String API_KEY = "sizin-api-anahtariniz";
static final String BASE_URL = "https://sizin-siteniz.com";
static final HttpClient client = HttpClient.newHttpClient();
static String get(String endpoint) throws Exception {
var req = HttpRequest.newBuilder()
.uri(URI.create(BASE_URL + endpoint))
.header("X-API-KEY", API_KEY)
.GET().build();
return client.send(req, BodyHandlers.ofString()).body();
}
static String post(String endpoint, String json) throws Exception {
var req = HttpRequest.newBuilder()
.uri(URI.create(BASE_URL + endpoint))
.header("X-API-KEY", API_KEY)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
return client.send(req, BodyHandlers.ofString()).body();
}
public static void main(String[] args) throws Exception {
// Siparişleri getir
System.out.println(get("/api/siparisler?limit=20&sayfa=1"));
// Ürünleri getir
System.out.println(get("/api/urunler?limit=10&sayfa=1"));
// Sipariş durumu güncelle
System.out.println(post("/api/siparisDurumGuncelle",
"{\"siparisId\":145,\"durum\":4}"));
}
}
using System.Net.Http;
using System.Text;
using System.Text.Json;
var apiKey = "sizin-api-anahtariniz";
var baseUrl = "https://sizin-siteniz.com";
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-KEY", apiKey);
// Kullanıcı girişi
async Task<JsonDocument> KullaniciGirisi(string kullaniciAdi, string sifre)
{
var content = new StringContent(
JsonSerializer.Serialize(new { kullaniciAdi, sifre }),
Encoding.UTF8, "application/json");
var res = await client.PostAsync($"{baseUrl}/api/giris", content);
var json = await res.Content.ReadAsStringAsync();
return JsonDocument.Parse(json);
}
// Siparişleri listeleme
async Task<JsonDocument> SiparisleriGetir(int limit = 10, int sayfa = 1)
{
var res = await client.GetStringAsync(
$"{baseUrl}/api/siparisler?limit={limit}&sayfa={sayfa}");
return JsonDocument.Parse(res);
}
// Ürünleri listeleme
async Task<JsonDocument> UrunleriGetir(int limit = 10, int sayfa = 1)
{
var res = await client.GetStringAsync(
$"{baseUrl}/api/urunler?limit={limit}&sayfa={sayfa}");
return JsonDocument.Parse(res);
}
// Sipariş durumu güncelleme
async Task<JsonDocument> SiparisDurumGuncelle(int siparisId, int durum)
{
var content = new StringContent(
JsonSerializer.Serialize(new { siparisId, durum }),
Encoding.UTF8, "application/json");
var res = await client.PostAsync(
$"{baseUrl}/api/siparisDurumGuncelle", content);
var json = await res.Content.ReadAsStringAsync();
return JsonDocument.Parse(json);
}
// Kullanım
var siparisler = await SiparisleriGetir(20, 1);
var urunler = await UrunleriGetir();
var guncelle = await SiparisDurumGuncelle(145, 4);
interface ApiYanit<T> {
durum: boolean;
mesaj: string;
veri?: T;
}
interface Siparis {
id: string;
sipID: string;
ad: string;
soyad: string;
durum: string;
durum_metni: string;
toplam_tutar: string;
}
interface Urun {
UrunId: string;
UrunAdi: string;
Fiyat: string;
Stok: number;
Barkod: string;
}
const apiKey: string = "sizin-api-anahtariniz";
const baseUrl: string = "https://sizin-siteniz.com";
const headers: HeadersInit = { "X-API-KEY": apiKey };
async function apiGet<T>(endpoint: string): Promise<ApiYanit<T>> {
const res = await fetch(`${baseUrl}${endpoint}`, { headers });
return res.json();
}
async function apiPost<T>(endpoint: string, body: object): Promise<ApiYanit<T>> {
const res = await fetch(`${baseUrl}${endpoint}`, {
method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify(body),
});
return res.json();
}
// Kullanım
const siparisler = await apiGet<{ siparisler: Siparis[] }>(
"/api/siparisler?limit=20&sayfa=1"
);
const urunler = await apiGet<{ urunler: Urun[] }>(
"/api/urunler?limit=10&sayfa=1"
);
const guncelle = await apiPost("/api/siparisDurumGuncelle", {
siparisId: 145, durum: 4
});
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
const (
apiKey = "sizin-api-anahtariniz"
baseURL = "https://sizin-siteniz.com"
)
func apiGet(endpoint string) (map[string]interface{}, error) {
req, _ := http.NewRequest("GET", baseURL+endpoint, nil)
req.Header.Set("X-API-KEY", apiKey)
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
return result, nil
}
func apiPost(endpoint string, data interface{}) (map[string]interface{}, error) {
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", baseURL+endpoint, bytes.NewBuffer(jsonData))
req.Header.Set("X-API-KEY", apiKey)
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
return result, nil
}
func main() {
// Siparişleri getir
siparisler, _ := apiGet("/api/siparisler?limit=20&sayfa=1")
fmt.Println(siparisler)
// Ürünleri getir
urunler, _ := apiGet("/api/urunler?limit=10&sayfa=1")
fmt.Println(urunler)
// Sipariş durumu güncelle
guncelle, _ := apiPost("/api/siparisDurumGuncelle", map[string]interface{}{
"siparisId": 145,
"durum": 4,
})
fmt.Println(guncelle)
}
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
val apiKey = "sizin-api-anahtariniz"
val baseUrl = "https://sizin-siteniz.com"
val client = HttpClient.newHttpClient()
fun apiGet(endpoint: String): String {
val req = HttpRequest.newBuilder()
.uri(URI.create("$baseUrl$endpoint"))
.header("X-API-KEY", apiKey)
.GET().build()
return client.send(req, HttpResponse.BodyHandlers.ofString()).body()
}
fun apiPost(endpoint: String, json: String): String {
val req = HttpRequest.newBuilder()
.uri(URI.create("$baseUrl$endpoint"))
.header("X-API-KEY", apiKey)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build()
return client.send(req, HttpResponse.BodyHandlers.ofString()).body()
}
fun main() {
println(apiGet("/api/siparisler?limit=20&sayfa=1"))
println(apiGet("/api/urunler?limit=10&sayfa=1"))
println(apiPost("/api/siparisDurumGuncelle",
"""{"siparisId":145,"durum":4}"""))
}
import 'dart:convert';
import 'package:http/http.dart' as http;
const apiKey = 'sizin-api-anahtariniz';
const baseUrl = 'https://sizin-siteniz.com';
final headers = {'X-API-KEY': apiKey};
Future<Map<String, dynamic>> apiGet(String endpoint) async {
final res = await http.get(
Uri.parse('$baseUrl$endpoint'),
headers: headers,
);
return jsonDecode(res.body);
}
Future<Map<String, dynamic>> apiPost(String endpoint, Map body) async {
final res = await http.post(
Uri.parse('$baseUrl$endpoint'),
headers: {...headers, 'Content-Type': 'application/json'},
body: jsonEncode(body),
);
return jsonDecode(res.body);
}
void main() async {
// Siparişleri getir
final siparisler = await apiGet('/api/siparisler?limit=20&sayfa=1');
print(siparisler);
// Ürünleri getir
final urunler = await apiGet('/api/urunler?limit=10&sayfa=1');
print(urunler);
// Sipariş durumu güncelle
final guncelle = await apiPost('/api/siparisDurumGuncelle', {
'siparisId': 145,
'durum': 4,
});
print(guncelle);
}
# Kullanıcı girişi
curl -X POST https://sizin-siteniz.com/api/giris \
-H "Content-Type: application/json" \
-d '{"kullaniciAdi": "admin", "sifre": "sifre123"}'
# Siparişleri listeleme
curl https://sizin-siteniz.com/api/siparisler?limit=20&sayfa=1 \
-H "X-API-KEY: sizin-api-anahtariniz"
# Sipariş detayı
curl https://sizin-siteniz.com/api/siparis?id=145 \
-H "X-API-KEY: sizin-api-anahtariniz"
# Ürünleri listeleme
curl https://sizin-siteniz.com/api/urunler?limit=10&sayfa=1 \
-H "X-API-KEY: sizin-api-anahtariniz"
# Ürün detayı
curl https://sizin-siteniz.com/api/urun?id=1735 \
-H "X-API-KEY: sizin-api-anahtariniz"
# Ürün arama
curl https://sizin-siteniz.com/api/urunAra?arama=konjektor \
-H "X-API-KEY: sizin-api-anahtariniz"
# Kategoriler
curl https://sizin-siteniz.com/api/kategoriler \
-H "X-API-KEY: sizin-api-anahtariniz"
# Markalar
curl https://sizin-siteniz.com/api/markalar \
-H "X-API-KEY: sizin-api-anahtariniz"
# Stok kontrol
curl https://sizin-siteniz.com/api/stokKontrol?urunId=1735 \
-H "X-API-KEY: sizin-api-anahtariniz"
# Sipariş durumu güncelleme
curl -X POST https://sizin-siteniz.com/api/siparisDurumGuncelle \
-H "X-API-KEY: sizin-api-anahtariniz" \
-H "Content-Type: application/json" \
-d '{"siparisId": 145, "durum": 4, "kargoAdi": "Yurtiçi Kargo", "kargoKodu": "YK123456"}'