Katalog & ID Keşfi
Ürün Oluşturma isteğinde kullanılan marka, kategori, ürün tipi ve özellik (attribute) ID'lerini döndüren salt-okunur endpoint'lerdir.
product:read
1. Kategoriler
GET /integration/product/sellers/{sellerId}/categories
Ana ve alt kategori ağacını döndürür. Ürün oluşturmada mainCategoryId ana kategoriden, subCategoryId onun subCategories listesinden seçilmelidir.
Yanıt (200)
{
"categories": [
{
"id": 7,
"name": "Giyim",
"subCategories": [
{ "id": 37, "name": "Tişört" },
{ "id": 38, "name": "Gömlek" }
]
},
{
"id": 3,
"name": "Aydınlatma",
"subCategories": [
{ "id": 9, "name": "Aplik" }
]
}
]
}
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/product/sellers/123/categories"<?php
$ch = curl_init('https://api.milagron.com/integration/product/sellers/123/categories');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'API_KEY:API_SECRET',
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);const auth = Buffer.from('API_KEY:API_SECRET').toString('base64');
const res = await fetch('https://api.milagron.com/integration/product/sellers/123/categories', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/product/sellers/123/categories',
auth=('API_KEY', 'API_SECRET')
)
response.raise_for_status()
data = response.json()package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.milagron.com/integration/product/sellers/123/categories", nil)
req.SetBasicAuth("API_KEY", "API_SECRET")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}import java.net.URI;
import java.net.http.*;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("API_KEY:API_SECRET".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.milagron.com/integration/product/sellers/123/categories"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.milagron.com/integration/product/sellers/123/categories')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth('API_KEY', 'API_SECRET')
response = http.request(request)
data = JSON.parse(response.body)using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var auth = Convert.ToBase64String(
Encoding.UTF8.GetBytes("API_KEY:API_SECRET"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", auth);
var response = await client.GetAsync("https://api.milagron.com/integration/product/sellers/123/categories");
var data = await response.Content.ReadAsStringAsync();2. Ürün Tipleri
GET /integration/product/sellers/{sellerId}/product-types
Ürün tiplerini ve her tip için izin verilen KDV oranlarını döndürür. Ürün oluşturmada productTypeId seçilen alt kategoriye ait olmalı, taxRate tipin taxRates listesinden seçilmelidir.
Sorgu Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
subCategoryId | integer | Opsiyonel. Verilirse yalnızca o alt kategoriye ait tipler döner. |
Yanıt (200)
{
"productTypes": [
{ "id": 12, "name": "Tişört", "subCategoryId": 37, "taxRates": [8, 18] },
{ "id": 13, "name": "Polo Yaka", "subCategoryId": 37, "taxRates": [8] }
]
}
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37"<?php
$ch = curl_init('https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'API_KEY:API_SECRET',
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);const auth = Buffer.from('API_KEY:API_SECRET').toString('base64');
const res = await fetch('https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37',
auth=('API_KEY', 'API_SECRET')
)
response.raise_for_status()
data = response.json()package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37", nil)
req.SetBasicAuth("API_KEY", "API_SECRET")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}import java.net.URI;
import java.net.http.*;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("API_KEY:API_SECRET".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth('API_KEY', 'API_SECRET')
response = http.request(request)
data = JSON.parse(response.body)using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var auth = Convert.ToBase64String(
Encoding.UTF8.GetBytes("API_KEY:API_SECRET"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", auth);
var response = await client.GetAsync("https://api.milagron.com/integration/product/sellers/123/product-types?subCategoryId=37");
var data = await response.Content.ReadAsStringAsync();3. Özellikler (Attributes)
GET /integration/product/sellers/{sellerId}/attributes
Varyant özelliklerini (Renk, Beden vb.) ve seçilebilir değerlerini döndürür. Ürün oluşturmada üst düzey attributes dizisi bu listedeki id'lerden, varyantlardaki attributeValueId ilgili özelliğin values listesinden seçilmelidir.
Yanıt (200)
{
"attributes": [
{
"id": 3,
"name": "Renk",
"required": true,
"multiple": false,
"values": [
{ "id": 15, "value": "Siyah" },
{ "id": 16, "value": "Beyaz" }
]
},
{
"id": 7,
"name": "Beden",
"required": true,
"multiple": false,
"values": [
{ "id": 41, "value": "S" },
{ "id": 42, "value": "M" },
{ "id": 43, "value": "L" }
]
}
]
}
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/product/sellers/123/attributes"<?php
$ch = curl_init('https://api.milagron.com/integration/product/sellers/123/attributes');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'API_KEY:API_SECRET',
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);const auth = Buffer.from('API_KEY:API_SECRET').toString('base64');
const res = await fetch('https://api.milagron.com/integration/product/sellers/123/attributes', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/product/sellers/123/attributes',
auth=('API_KEY', 'API_SECRET')
)
response.raise_for_status()
data = response.json()package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.milagron.com/integration/product/sellers/123/attributes", nil)
req.SetBasicAuth("API_KEY", "API_SECRET")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}import java.net.URI;
import java.net.http.*;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("API_KEY:API_SECRET".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.milagron.com/integration/product/sellers/123/attributes"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.milagron.com/integration/product/sellers/123/attributes')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth('API_KEY', 'API_SECRET')
response = http.request(request)
data = JSON.parse(response.body)using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var auth = Convert.ToBase64String(
Encoding.UTF8.GetBytes("API_KEY:API_SECRET"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", auth);
var response = await client.GetAsync("https://api.milagron.com/integration/product/sellers/123/attributes");
var data = await response.Content.ReadAsStringAsync();4. Markalar
GET /integration/product/sellers/{sellerId}/brands
Satıcıya tanımlı markaları döndürür. Ürün oluşturmada brandId bu listeden seçilmelidir; başka satıcıların markaları kullanılamaz.
Yanıt (200)
{
"brands": [
{ "id": 5, "name": "Marka Adı" },
{ "id": 8, "name": "Diğer Marka" }
]
}
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/product/sellers/123/brands"<?php
$ch = curl_init('https://api.milagron.com/integration/product/sellers/123/brands');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'API_KEY:API_SECRET',
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);const auth = Buffer.from('API_KEY:API_SECRET').toString('base64');
const res = await fetch('https://api.milagron.com/integration/product/sellers/123/brands', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/product/sellers/123/brands',
auth=('API_KEY', 'API_SECRET')
)
response.raise_for_status()
data = response.json()package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.milagron.com/integration/product/sellers/123/brands", nil)
req.SetBasicAuth("API_KEY", "API_SECRET")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}import java.net.URI;
import java.net.http.*;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("API_KEY:API_SECRET".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.milagron.com/integration/product/sellers/123/brands"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.milagron.com/integration/product/sellers/123/brands')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth('API_KEY', 'API_SECRET')
response = http.request(request)
data = JSON.parse(response.body)using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var auth = Convert.ToBase64String(
Encoding.UTF8.GetBytes("API_KEY:API_SECRET"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", auth);
var response = await client.GetAsync("https://api.milagron.com/integration/product/sellers/123/brands");
var data = await response.Content.ReadAsStringAsync();Notlar
- Bu endpoint'ler salt-okunurdur; stage ortamında dahi gerçek veri döner.
- Yanıtlar gün içinde nadiren değişir; istemci tarafında makul süreyle (ör. 1 saat) önbelleklenebilir.
- Önerilen akış:
categories→product-types?subCategoryId=→attributes+brands→ ürün oluşturma.