ارسال دسته‌ای داده‌ها POST {BASE_URL}/ingestionapi/api/v{version}/data/catalogs/{catalogId}/batch

توضیح

این API برای ارسال دسته‌ای از داکیومنت‌ها (رکوردها) استفاده می‌شود. پیش از فراخوانی این API لازم است از بخش آبی رنگ پنل، قسمت انتقال داده و بخش تنظیمات RESTful، فیلد کلید اصلی داده‌های خود را معرفی کرده باشید (فیلدی که مقادیر آن برای تمامی اسناد، یکتا باشد). همچنین ویژگی فعال نیز باید در حالت روشن باشد. مثلاً اگر نام فیلد کلید شما id است، حتما باید در تمامی داکیومنت‌ها حضور داشته باشد. همچنین نام فیلد به حروف بزرگ و کوچک حساس می‌باشد:

[
    {
      "id":"a-unique-identifier"
      ...
    },
    {
      "id":"a-unique-identifier"
      ...
    }
]
ارسال ویژگی‌های مختص هر داکیومنت

به عنوان نمونه کالایی مثل میز نهارخوری دارای ویژگی‌هایی مانند ضخامت شیشه، شکل میز، جنس صفحه و چند نفره بودن میز می‌باشد. در حالی که کالایی مثل هارد دیسک دارای ویژگی‌هایی مانند نوع اتصال، نوع رابط، مقاوم بودن در برابر آب، ظرفیت و مواردی از این دست می‌باشد. اینگونه اطلاعات را می‌توانید مانند نمونه زیر و برای هر داکیومنت ارسال کنید:

"dolphin_relevant_facets": [
      {
        "key": "نوع اتصال",
        "value": "بی سیم و باسیم"
      },
      {
        "key": "نوع رابط",
        "value": "USB 2.0"
      },
      {
        "key": "مقاوم در برابر آب",
        "value": "بله"
      },
      {
        "key": "مقاوم در برابر ضربه",
        "value": "بله"
      },
      {
        "key": "ظرفیت",
        "value": "4 ترابایت"
      },
      {
        "key": "رنگ",
        "value": "قرمز"
      },
      {
        "key": "نوع",
        "value": "رومیزی"
      }
    ]

این API به صورت غیرهمزمان (async) پیاده‌سازی شده و دریافت نتیجه اجرای آن با فراخوانی API «نتیجه عملیات دسته‌ای» و به کمک trackId که در خروجی ارسال می‌شود، امکانپذیر است.

محدودیت استفاده از این API در حجم اطلاعات ارسالی می‌باشد که نباید فراتر از 10 مگابایت باشد.

پارامترها
ردیف پارامتر مقدار پیشفرض توضیحات ضروری نوع
۱ catalogId ندارد شناسه اختصاصی کاتالوگ مورد نظر. پیش از فراخوانی این API باید حداقل یک کاتالوگ ایجاد کرده باشید. شناسه کاتالوگ مورد نظر را می‌توانید در قسمت مدیریت کاتالوگ‌ها و با انتخاب کاتالوگ مورد نظر، از بخش تنظیمات پایه و شناسه اختصاصی کاتالوگ پیدا کنید. بله string
۲ محتوای درخواست ندارد این فیلد آرایه‌ای از داکیومنت‌های مورد نظر برای ذخیره‌سازی در قالب JSON می‌باشد که تمامی داکیو‌منت‌ها باید حتما شامل فیلد کلید یکتای داده‌ها در قالب رشته باشد. فیلد یکتا باید پیش از فراخوانی API در بخش آبی رنگ پنل، قسمت انتقال داده و بخش تنظیمات RESTful تعریف شده باشد. بله آرایه‌ای از json
نمونه درخواست
curl -X POST "{BASE_URL}/ingestionapi/api/v{version}/data/catalogs/{catalogId}/batch" --header 'Content-Type: application/json' \
--data-raw '[
        {
            "id": "17",
            "name": "Sunglass",
            "price": 1000
        },
        {
            "id": "18",
            "name": "Backpack",
            "price": 15000
        }
    ]'
Shell
خروجی موفق

در صورت ارسال موفقیت‌آمیز اطلاعات، شناسه‌ای (trackId) برای اطلاع از نتیجه اجرای درخواست بازگردانده می‌شود که از این شناسه در فراخوانی API مربوط به دریافت «نتیجه عملیات دسته‌ای» استفاده خواهد شد.

{
    "trackId": "fc442947-318c-44b4-9aa2-f8f672c6b1ea"
}
JSON
کدهای خطا
ردیف کد خطا توضیحات
۱ ۴۰۰ در صورتی که ساختار هر یک از مقادیر به صورت اشتباه به API فرستاده شده باشد.
۲ ۴۰۴ در صورتی که شناسه کاتالوگ صحیح نباشد.