>_

PROTOCOL SPECIFICATION

REST API REFERENCE v4.0

Детерминированный программный интерфейс для M2M-интеграции. Асинхронная нормализация данных, идемпотентные запросы и поддержка ГОСТ TLS.

[ АВТОРИЗАЦИЯ ]

API использует Bearer токены. Для суверенных инсталляций обязательна настройка двухстороннего mTLS с ГОСТ Р 34.10-2012.

ТОЧКИ ПОДКЛЮЧЕНИЯ (BASE URLS)

Public: https://api.ru.autonomouscore.net/v1

Sovereign: https://sovereign.ru.autonomouscore.net/v1

On-Prem: https://api.internal.local/v1

Идемпотентность: передайте заголовок X-Idempotency-Key для безопасных повторных запросов в случае обрыва соединения.

POST

/sanitize/async

Инициализирует асинхронный пайплайн санации. Загружает сырой файл (CSV, XLSX) в изолированный контур. Возвращает task_id для последующего опроса.

ПАРАМЕТРЫ ЗАПРОСА (MULTIPART/FORM-DATA)

file*binary

Файл с ненормализованной номенклатурой (CSV, XLSX). Ограничение: 50MB.

webhook_urlstring

URL для POST-уведомления по завершении обработки (опционально).

target_schemastring

Формат выхода. По умолчанию CommerceML_2.1.

GET

/tasks/{task_id}

Возвращает актуальный статус выполнения задачи по ее идентификатору.

QUEUEDPROCESSINGCOMPLETEDFAILED
GET

/tasks/{task_id}/commerceml

Отдаёт сгенерированный CommerceML XML-манифест для импорта в учетные системы (1С:Предприятие, МойСклад). Возвращается с заголовком Content-Type: application/xml.

[ ОШИБКИ И ЛИМИТЫ ]

400

Bad Request

Невалидный формат файла или отсутствуют обязательные параметры.

401

Unauthorized

Невалидный, просроченный или отозванный Bearer-токен.

429

Too Many Requests

Превышен лимит запросов (Rate Limit). Смотрите заголовки X-RateLimit.

451

Unavailable For Legal Reasons

Блокировка по 152-ФЗ (запрет трансграничной передачи ПДн).

500

Internal Server Error

Системный сбой пайплайна. Повторите запрос с тем же Idempotency-Key.

Base URLs

Public: https://api.ru.autonomouscore.net/v1

Sovereign: https://sovereign.ru.autonomouscore.net/v1

On-Prem: https://api.internal.local/v1

Auth Header

Authorization: Bearer sk_live_9f8a7b...

X-Idempotency-Key: req_9948f2a1

cURL — POST /sanitize/async

> curl -X POST \

https://api.ru.autonomouscore.net/v1/sanitize/async \

-H "Authorization: Bearer sk_live_***" \

-F "file=@nomenclature.csv"

Response — 202 Accepted

{

"task_id": "885f6d1e-31d3-4927",

"status": "QUEUED",

"created_at": "2026-04-09T11:56:47Z"

}

Response — GET /tasks/{task_id}

{

"task_id": "885f6d1e-31d3-4927",

"status": "COMPLETED",

"rows_processed": 4250,

"processing_time": "12.4s",

"commerceml_ready": true

}

Response — GET /commerceml (XML)

<Каталог Версия="2.1">

<Товары>

<Товар>

<Ид>885f6d1e</Ид>

<ТНВЭД>7318165000</ТНВЭД>

</Товар>

</Товары>

</Каталог>