Ücretsiz Entegrasyon: Excel ile Trendyol, N11 ve Hepsiburada’ya Ürün Yükleme ve Sipariş Takibi
Entegrasyon firmalarına yüksek ücretler ödemek yerine, bu işi kendi başınıza Excel ve biraz otomasyon bilgisiyle kolayca halledebilirsiniz. Bu makalede, hiçbir özel entegrasyon yazılımına ihtiyaç duymadan, Excel kullanarak üç büyük pazar yerine ürün yükleme ve sipariş çekme işlemlerinin nasıl yapılacağını öğreneceksiniz.
1. Gerekli Hazırlıklar
- Microsoft Excel (veya Google Sheets)
- API erişim bilgileri (Trendyol, N11, Hepsiburada)
- İnternete bağlı bir bilgisayar
- Tercihen Postman (API testi için)
- PHP veya Python bilgisi (temel düzey)
2. API Anahtarlarını Almak
Her pazar yerinin entegrasyon için sunduğu bir API sistemi vardır. Öncelikle bu sistemlere başvurmanız gerekir.
Trendyol API Başvurusu:
- https://partner.trendyol.com adresine gidin.
- Mağaza paneline giriş yapın > Ayarlar > Geliştirici Ayarları > API Anahtarı ve Şifresi alın.
N11 API Başvurusu:
- https://developer.n11.com/ üzerinden başvuru yapın.
- AppKey ve AppSecret almanız gerekiyor.
Hepsiburada API:
- HB Partner (https://partner.hepsiburada.com/) panelinden başvurun.
- Uygulama oluşturup API anahtarlarını alın.
3. Excel Dosyanızı Hazırlayın
Örnek Kolonlar:
Not: Her pazar yeri kolon isimleri ve içeriklerde farklı zorunluluklar ister. Bu yüzden aşağıda yer alan “API Formatı” kısmına dikkat edin.
4. Excel Verilerini JSON Formatına Dönüştürme (PHP Örneği)
<?php
require 'vendor/autoload.php'; // PhpSpreadsheet için
use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = IOFactory::load('urunler.xlsx');
$sheet = $spreadsheet->getActiveSheet();
$data = $sheet->toArray();
$json = [];
for ($i = 1; $i < count($data); $i++) {
$json[] = [
"barcode" => $data[$i][1],
"title" => $data[$i][0],
"price" => (float)$data[$i][3],
"quantity" => (int)$data[$i][2],
"description" => $data[$i][4],
"brand" => $data[$i][5],
"images" => [$data[$i][7]]
];
}
file_put_contents('trendyol_urunler.json', json_encode($json, JSON_PRETTY_PRINT));
echo "JSON dosyası oluşturuldu.";
?>
5. Trendyol’a Ürün Gönderme (PHP cURL ile)
$merchantId = 'MağazaID';
$username = 'API_KULLANICI';
$password = 'API_SIFRE';
$url = "https://api.trendyol.com/sapigw/suppliers/$merchantId/products";
$json = file_get_contents('trendyol_urunler.json');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
6. N11’e Ürün Gönderme (XML Formatlı)
N11 XML ile çalışır. Excel'den XML’e dönüştürmeniz gerekir.
N11 Örnek XML:
<product>
<productSellerCode>1234567890</productSellerCode>
<title>Kırmızı Tişört</title>
<description>%100 pamuk</description>
<price>149.90</price>
<stockItems>
<stockItem>
<quantity>20</quantity>
</stockItem>
</stockItems>
</product>
XML Gönderim (PHP ile SoapClient):
$client = new SoapClient("https://api.n11.com/ws/ProductService.wsdl");
$auth = ['appKey' => 'APP_KEY', 'appSecret' => 'APP_SECRET'];
$response = $client->SaveProduct([
'auth' => $auth,
'product' => $xmlParsedFromExcel // Bu kısmı oluşturmalısın
]);
7. Hepsiburada Ürün Yükleme
HB API, JSON veri bekler. Gönderim Trendyol’a benzer şekilde yapılır.
Örnek Ürün JSON:
{
"product": {
"title": "Kırmızı Tişört",
"barcode": "1234567890",
"price": 149.90,
"stock": 20,
"brand": "KRAL Giyim"
}
}
PHP ile Gönderim:
$token = 'BEARER_TOKEN';
$url = "https://listing.hepsiburada.com/product/api/create";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($json));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
"Authorization: Bearer $token"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
8. Siparişleri Excel'e Çekme
Her pazar yeri sipariş API’si sunar. PHP ile JSON çıktıyı alıp CSV/Excel'e dönüştürebilirsiniz.
$siparisler = file_get_contents("https://api.trendyol.com/sapigw/suppliers/$merchantId/orders", false, stream_context_create([
"http" => ["header" => "Authorization: Basic " . base64_encode("$username:$password")]
]));
$data = json_decode($siparisler, true);
// CSV çıktısı
$fp = fopen('siparisler.csv', 'w');
fputcsv($fp, ['Sipariş No', 'Müşteri', 'Ürün', 'Adet', 'Fiyat']);
foreach ($data['content'] as $order) {
foreach ($order['lines'] as $line) {
fputcsv($fp, [$order['orderNumber'], $order['customerFirstName'], $line['productName'], $line['quantity'], $line['unitPrice']]);
}
}
fclose($fp);
Sonuç:
Bu yöntemle:
- Hiçbir ücret ödemeden ürünlerinizi Excel'den yükleyebilir,
- Siparişleri çekebilir ve Excel dosyası olarak alabilirsiniz,
- Temel seviyede kod bilginizle kendi mini entegrasyonunuzu kurabilirsiniz.
Yorumlar
Yorum Gönder