Batch Durum Sorgulama
Asenkron olarak başlatılmış stok ve fiyat güncelleme isteğinin işlenme durumunu sorgular. Item bazında başarı/başarısızlık bilgisi ile birlikte detaylı sonuç döner.
Gerekli yetki:
stock:read
Endpoint
GET /integration/inventory/sellers/{sellerId}/products/batch-requests/{batchRequestId}
Production
https://api.milagron.com/integration/inventory/sellers/{sellerId}/products/batch-requests/{batchRequestId}
Stage
https://stageapi.milagron.com/integration/inventory/sellers/{sellerId}/products/batch-requests/{batchRequestId}
Yol Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
sellerId | integer | Mağaza tanımlayıcısı. |
batchRequestId | uuid | Stok-fiyat güncelleme isteği tarafından döndürülen batch tanımlayıcısı. |
Yanıt (200 OK)
{
"batchRequestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"environment": "production",
"itemCount": 2,
"successCount": 1,
"failureCount": 1,
"createdAt": "2026-04-14 10:30:00",
"startedAt": "2026-04-14 10:30:05",
"finishedAt": "2026-04-14 10:30:12",
"items": [
{
"barcode": "8690000000001",
"requestItem": { "barcode": "8690000000001", "quantity": 50 },
"status": "success",
"failureReasons": []
},
{
"barcode": "8690000000002",
"requestItem": { "barcode": "8690000000002", "quantity": 10 },
"status": "failed",
"failureReasons": ["barcode not found for this seller"]
}
]
}
Durum Değerleri
| Status | Açıklama |
|---|---|
pending | İstek henüz worker tarafından alınmamıştır. |
processing | İşlenme süreci devam etmektedir. |
completed | İşlem tamamlanmıştır. Bazı item'lar başarısız olmuş olabilir. |
failed | Batch geneli başarısız olmuştur (örneğin seller bilgisi bulunamadı). |
Stage Ortamı Yanıtı
Stage ortamında dönen yanıtlarda ek bilgilendirme alanları yer alır:
{
"batchRequestId": "...",
"status": "completed",
"environment": "stage",
"_stage": true,
"_simulated": true,
"_message": "This batch was processed in sandbox mode. No real changes were made.",
...
}
Ortamlar Arası İzolasyon
Bir ortamda oluşturulmuş batch, yalnızca aynı ortam üzerinden sorgulanabilir. Bulunamayan veya erişilemeyen kayıtlar için
404 NotFound döner.
Kullanım Örnekleri
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890"<?php
$ch = curl_init('https://api.milagron.com/integration/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890');
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/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890',
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/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890", 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/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890"))
.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/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890')
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/inventory/sellers/123/products/batch-requests/a1b2c3d4-e5f6-7890-abcd-ef1234567890");
var data = await response.Content.ReadAsStringAsync();Hata Kodları
| Kod | Sebep |
|---|---|
| 400 | batchRequestId formatı geçersiz. |
| 401 | Kimlik doğrulama başarısız. |
| 403 | sellerId uyumsuzluğu. |
| 404 | Batch bulunamadı. |