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

ParametreTipAçıklama
sellerIdintegerMağaza tanımlayıcısı.
batchRequestIduuidStok-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

StatusAçı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.
failedBatch 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ı

KodSebep
400batchRequestId formatı geçersiz.
401Kimlik doğrulama başarısız.
403sellerId uyumsuzluğu.
404Batch bulunamadı.