{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://api13.arm20.com/v1/schemas/product_batch.import_products.json","title":"product_batch.import_products","description":"Імпортує підготовлений набір товарів до основного довідника.","type":"object","required":["request","response"],"additionalProperties":false,"properties":{"request":{"oneOf":[{"type":"object","required":["method","params"],"additionalProperties":false,"properties":{"method":{"const":"product_batch.import_products"},"params":{"type":"object","additionalProperties":false,"properties":{"rows":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"row_action":{"type":"string","enum":["add","update","currency"],"minLength":1,"title":"Дія з товаром","example":"add","description":"Варіант «Дія з товаром». Використовуйте лише одне зі значень, розшифрованих нижче.","x-api13-group":"Додаткові","x-enumDescriptions":["додати товар","оновити товар","оновити валютні дані"],"x-api13-enum-labels":{"add":"додати товар","update":"оновити товар","currency":"оновити валютні дані"}},"code":{"type":"string","maxLength":190,"minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F]{1,190}$","title":"Код товару","example":"1001","description":"Публічний код товару, картки або іншого запису, як він відображається у програмі.","x-api13-group":"Основні"},"name":{"type":"string","maxLength":512,"minLength":1,"pattern":"^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]{1,512}$","title":"Назва","example":"Тестовий товар","description":"Поле «Назва» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","x-api13-group":"Основні"},"cost":{"type":"string","maxLength":32,"minLength":1,"pattern":"^(?:(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,8})?|-(?:[1-9][0-9]*(?:\\.[0-9]{1,8})?|0\\.(?=[0-9]{0,7}[1-9])[0-9]{1,8}))$","x-api13-scale":8,"description":"Точне числове значення «Собівартість» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається. Decimal encoded as a JSON string; at most 8 fractional digits.","title":"Собівартість","format":"decimal-string","example":"100.00","x-api13-group":"Суми та кількості","x-api13-unit":"currency-of-operation"},"markup":{"type":"string","maxLength":32,"minLength":1,"pattern":"^(?:(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,8})?|-(?:[1-9][0-9]*(?:\\.[0-9]{1,8})?|0\\.(?=[0-9]{0,7}[1-9])[0-9]{1,8}))$","x-api13-scale":8,"description":"Точне числове значення «Націнка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається. Decimal encoded as a JSON string; at most 8 fractional digits.","title":"Націнка","format":"decimal-string","example":"100.00","x-api13-group":"Суми та кількості","x-api13-unit":"percent"},"price":{"type":"string","maxLength":32,"minLength":1,"pattern":"^(?:(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,8})?|-(?:[1-9][0-9]*(?:\\.[0-9]{1,8})?|0\\.(?=[0-9]{0,7}[1-9])[0-9]{1,8}))$","x-api13-scale":8,"description":"Ціна за одиницю товару як десятковий рядок без символу валюти. Decimal encoded as a JSON string; at most 8 fractional digits.","title":"Ціна","format":"decimal-string","example":"100.00","x-api13-group":"Суми та кількості","x-api13-unit":"currency-of-operation"},"old_price":{"type":"string","maxLength":32,"minLength":1,"pattern":"^(?:(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,8})?|-(?:[1-9][0-9]*(?:\\.[0-9]{1,8})?|0\\.(?=[0-9]{0,7}[1-9])[0-9]{1,8}))$","x-api13-scale":8,"description":"Точне числове значення «Попередня ціна» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається. Decimal encoded as a JSON string; at most 8 fractional digits.","title":"Попередня ціна","format":"decimal-string","example":"100.00","x-api13-group":"Суми та кількості","x-api13-unit":"currency-of-operation"},"unit_type":{"type":"integer","minimum":0,"maximum":2147483647,"default":0,"title":"Одиниця виміру","example":1,"description":"Поле «Одиниця виміру» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","x-api13-group":"Додаткові"},"supplier":{"type":"string","maxLength":512,"pattern":"^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$","default":"","title":"Постачальник","example":"","description":"Поле «Постачальник» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","x-api13-group":"Додаткові"},"category":{"type":"string","maxLength":512,"pattern":"^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$","default":"","title":"Категорія товару","example":"","description":"Поле «Категорія товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","x-api13-group":"Додаткові"},"currency_rate":{"type":"string","maxLength":32,"pattern":"^(?:(?:(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,8})?|-(?:[1-9][0-9]*(?:\\.[0-9]{1,8})?|0\\.(?=[0-9]{0,7}[1-9])[0-9]{1,8})))?$","x-api13-scale":8,"description":"Точне числове значення «Курс валюти» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається. Decimal encoded as a JSON string; at most 8 fractional digits.","default":"","title":"Курс валюти","format":"decimal-string","example":"100.00","x-api13-group":"Суми та кількості","x-api13-unit":"ratio"}},"required":["row_action","code","name","cost","markup","price","old_price"]},"minItems":1,"maxItems":100,"title":"Рядки операції","example":[],"description":"Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.","x-api13-group":"Колекції"},"extra_fields":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","maxLength":190,"minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F]{1,190}$","title":"Код товару","example":"1001","description":"Публічний код товару, картки або іншого запису, як він відображається у програмі.","x-api13-group":"Основні"},"field_name":{"type":"string","maxLength":190,"minLength":1,"pattern":"^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]{1,190}$","title":"Назва поля","example":"Приклад","description":"Поле «Назва поля» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","x-api13-group":"Додаткові"},"value":{"type":"string","maxLength":4096,"pattern":"^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$","default":"","title":"Значення","example":"","description":"Нове або шукане значення поля залежно від операції.","x-api13-group":"Додаткові"}},"required":["code","field_name"]},"minItems":0,"maxItems":250,"title":"Додаткові поля","example":[],"description":"Список «Додаткові поля». Структуру одного елемента, обов’язкові поля та межі кількості наведено нижче.","x-api13-group":"Колекції"}},"required":["rows"]},"id":{"type":["string","integer","null"]}}}]},"response":{"oneOf":[{"type":"object","required":["ok","data","request_id"],"additionalProperties":false,"properties":{"ok":{"const":true},"data":{"type":"object","required":["method","result","id"],"additionalProperties":false,"properties":{"method":{"const":"product_batch.import_products"},"result":{"type":"object","required":["upstream","status","rows"],"additionalProperties":false,"properties":{"upstream":{"type":"object","required":["name","version","resource"],"additionalProperties":false,"properties":{"name":{"const":"UPMAPI"},"version":{"type":"string"},"resource":{"type":"string"}}},"status":{"type":"object","required":["code","operation","affected","processed"],"additionalProperties":false,"properties":{"code":{"const":"OK"},"operation":{"type":"string"},"affected":{"type":"string","title":"Змінено записів","description":"Кількість записів, які upstream фактично змінив.","example":"Приклад"},"processed":{"type":"string","title":"Processed","description":"Повернене значення «Processed» відповідного запису, документа або підсумку ARM20.","example":"Приклад"}}},"rows":{"type":"array","items":{},"maxItems":0}}},"id":{"type":["string","integer","null"]}}},"request_id":{"type":"string"}}}]}},"x-api13-operation":{"description":"Імпортує підготовлений набір товарів до основного довідника.","scope":"catalog.write","params":{"rows":{"type":"array","required":true,"min_items":1,"max_items":100,"items":{"type":"object","fields":{"row_action":{"type":"enum","required":true,"values":["add","update","currency"],"title":"Дія з товаром","description":"Варіант «Дія з товаром». Використовуйте лише одне зі значень, розшифрованих нижче.","group":"Додаткові","example":"add","enum_labels":{"add":"додати товар","update":"оновити товар","currency":"оновити валютні дані"}},"code":{"type":"string","required":true,"max":190,"pattern":"/^[^\\x00-\\x1F\\x7F]{1,190}$/uD","title":"Код товару","description":"Публічний код товару, картки або іншого запису, як він відображається у програмі.","group":"Основні","example":"1001"},"name":{"type":"string","required":true,"max":512,"pattern":"/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]{1,512}$/uD","title":"Назва","description":"Поле «Назва» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","group":"Основні","example":"Тестовий товар"},"cost":{"type":"decimal","required":true,"max":32,"scale":8,"title":"Собівартість","description":"Точне числове значення «Собівартість» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.","group":"Суми та кількості","format":"decimal-string","unit":"currency-of-operation","example":"100.00"},"markup":{"type":"decimal","required":true,"max":32,"scale":8,"title":"Націнка","description":"Точне числове значення «Націнка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.","group":"Суми та кількості","format":"decimal-string","unit":"percent","example":"100.00"},"price":{"type":"decimal","required":true,"max":32,"scale":8,"title":"Ціна","description":"Ціна за одиницю товару як десятковий рядок без символу валюти.","group":"Суми та кількості","format":"decimal-string","unit":"currency-of-operation","example":"100.00"},"old_price":{"type":"decimal","required":true,"max":32,"scale":8,"title":"Попередня ціна","description":"Точне числове значення «Попередня ціна» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.","group":"Суми та кількості","format":"decimal-string","unit":"currency-of-operation","example":"100.00"},"unit_type":{"type":"int","min":0,"max":2147483647,"default":0,"title":"Одиниця виміру","description":"Поле «Одиниця виміру» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","group":"Додаткові","example":1},"supplier":{"type":"string","max":512,"pattern":"/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD","default":"","title":"Постачальник","description":"Поле «Постачальник» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","group":"Додаткові","example":""},"category":{"type":"string","max":512,"pattern":"/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD","default":"","title":"Категорія товару","description":"Поле «Категорія товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","group":"Додаткові","example":""},"currency_rate":{"type":"decimal","max":32,"scale":8,"default":"","title":"Курс валюти","description":"Точне числове значення «Курс валюти» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.","group":"Суми та кількості","format":"decimal-string","unit":"ratio","example":"100.00"}}},"title":"Рядки операції","description":"Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.","group":"Колекції","example":[]},"extra_fields":{"type":"array","required":false,"min_items":0,"max_items":250,"items":{"type":"object","fields":{"code":{"type":"string","required":true,"max":190,"pattern":"/^[^\\x00-\\x1F\\x7F]{1,190}$/uD","title":"Код товару","description":"Публічний код товару, картки або іншого запису, як він відображається у програмі.","group":"Основні","example":"1001"},"field_name":{"type":"string","required":true,"max":190,"pattern":"/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]{1,190}$/uD","title":"Назва поля","description":"Поле «Назва поля» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.","group":"Додаткові","example":"Приклад"},"value":{"type":"string","max":4096,"pattern":"/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD","default":"","title":"Значення","description":"Нове або шукане значення поля залежно від операції.","group":"Додаткові","example":""}}},"title":"Додаткові поля","description":"Список «Додаткові поля». Структуру одного елемента, обов’язкові поля та межі кількості наведено нижче.","group":"Колекції","example":[]}},"result":{"mode":"status","fields":["affected","processed"],"field_specs":{"affected":{"title":"Змінено записів","description":"Кількість записів, які upstream фактично змінив.","type":"string","example":"Приклад"},"processed":{"title":"Processed","description":"Повернене значення «Processed» відповідного запису, документа або підсумку ARM20.","type":"string","example":"Приклад"}}},"mutating":true,"idempotency_required":true,"since":"0.4.0","stability":"stable","deprecated":false,"aliases":["product_batch","import products","Імпортує підготовлений набір товарів до основного довідника."],"errors":[{"code":"INVALID_PARAMETER","http":422,"description":"Один із параметрів має неправильний тип, формат або значення.","retry":"Виправити запит; автоматично не повторювати."},{"code":"UPSTREAM_FAILURE","http":502,"description":"Сервер бізнес-операції недоступний або відхилив безпечний контракт.","retry":"Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт."},{"code":"IDEMPOTENCY_KEY_REQUIRED","http":422,"description":"Для виконання запису не передано Idempotency-Key.","retry":"Створити ключ для цієї бізнес-операції та повторити."},{"code":"IDEMPOTENCY_RESULT_UNKNOWN","http":409,"description":"Результат попередньої спроби невідомий; gateway не виконав запис повторно.","retry":"Звірити документ, чек або платіж; не створювати новий ключ автоматично."}],"related_methods":[]}}