chore(stand): мок-publish обоих пиров зелёный — ozon+ym 0.1.0, readmeTemplate для ozon (bind-mount), state сброшен
This commit is contained in:
102
host-stacks/local/sched-pipelines/data-ozon/package-readme.md
Normal file
102
host-stacks/local/sched-pipelines/data-ozon/package-readme.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# @apilki/ozon-seller — JavaScript/TypeScript клиент
|
||||
|
||||
**Версия: {{version}} · API от {{date}}** <!-- штампуется пайплайном (GH-дистро); npm-карточка версию не носит -->
|
||||
|
||||
**@apilki/ozon-seller** — generated TypeScript/JavaScript client for the **OZON Seller API** (fetch-based; works in Node.js ≥ 18 and browsers).
|
||||
|
||||
```bash
|
||||
npm install @apilki/ozon-seller
|
||||
```
|
||||
|
||||
Docs: <https://docs.ozon.ru/api/seller/> · Полное описание (RU) — ниже.
|
||||
|
||||
---
|
||||
|
||||
## Что это
|
||||
|
||||
JavaScript/TypeScript клиент для **OZON Seller API** (продавец-сторона): товары, заказы, FBO/FBS, цены и остатки, отчёты, аналитика, финансы, отзывы и вопросы. Сгенерирован из официального сваггера, построен на базе `fetch` API — работает и в Node.js (≥ 18), и в браузере. Публикуется в npm-скоупе `@apilki` (GitHub-орг `apilki`).
|
||||
|
||||
## Установка
|
||||
|
||||
```bash
|
||||
npm install @apilki/ozon-seller
|
||||
```
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
Авторизация OZON — пара заголовков `Client-Id` и `Api-Key` (личный кабинет продавца → Настройки → API-ключи). Клиент передаёт их первыми двумя аргументами каждого метода.
|
||||
|
||||
```javascript
|
||||
import { Configuration, ProductAPI } from '@apilki/ozon-seller';
|
||||
|
||||
const config = new Configuration({
|
||||
basePath: 'https://api-seller.ozon.ru',
|
||||
});
|
||||
|
||||
const productApi = new ProductAPI(config);
|
||||
|
||||
const clientId = 'YOUR_CLIENT_ID';
|
||||
const apiKey = 'YOUR_API_KEY';
|
||||
|
||||
// POST /v3/product/info/list — информация о товарах по идентификаторам
|
||||
const result = await productApi.productAPIGetProductInfoList(clientId, apiKey, {
|
||||
offer_id: ['offer-1'],
|
||||
product_id: [],
|
||||
sku: [],
|
||||
});
|
||||
|
||||
console.log(result.result?.items);
|
||||
```
|
||||
|
||||
### Работа с несколькими кабинетами
|
||||
|
||||
Ключ и Client-Id передаются в каждый вызов — один клиент обслуживает сколько угодно продавцов:
|
||||
|
||||
```javascript
|
||||
await productApi.productAPIGetProductInfoList(ALICE_CLIENT_ID, ALICE_API_KEY, body);
|
||||
await productApi.productAPIGetProductInfoList(BOB_CLIENT_ID, BOB_API_KEY, body);
|
||||
```
|
||||
|
||||
### Отладка (middleware)
|
||||
|
||||
```javascript
|
||||
const config = new Configuration({
|
||||
basePath: 'https://api-seller.ozon.ru',
|
||||
middleware: [{
|
||||
pre: async (context) => { console.log(`[OZON] ${context.init?.method} ${context.url}`); return context; },
|
||||
}],
|
||||
});
|
||||
```
|
||||
|
||||
## Ошибки
|
||||
|
||||
На 4xx/5xx клиент бросает `ResponseError` — у него есть `.response` (fetch-Response), тело ошибки OZON читается из него.
|
||||
|
||||
```javascript
|
||||
import { ResponseError } from '@apilki/ozon-seller';
|
||||
|
||||
try {
|
||||
await productApi.productAPIGetProductInfoList(clientId, apiKey, body);
|
||||
} catch (error) {
|
||||
if (error instanceof ResponseError) {
|
||||
const body = await error.response.json(); // { error: { code, message, details } }
|
||||
console.error(`OZON ${error.response.status}:`, body.error?.message);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Покрытие API
|
||||
|
||||
Полный сваггер OZON Seller API: **463 операции, 58 API-классов** (товары, заказы, FBO/FBS, цены и остатки, отчёты, аналитика, финансы, отзывы, вопросы и ответы, категории и др.).
|
||||
|
||||
## Postman-коллекция
|
||||
|
||||
Готовая Postman Collection v2.1 (463 запроса) — отдельным артефактом: `apilki/ozon-seller-postman`.
|
||||
|
||||
## Языки
|
||||
|
||||
TypeScript/JavaScript сейчас; Python и Go — в планах (скоуп `@apilki`).
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT © apilki. Документация OZON Seller API: <https://docs.ozon.ru/api/seller/>.
|
||||
@@ -1 +1,7 @@
|
||||
{}
|
||||
{
|
||||
"lastSpecSha256": "8756930c9921a569473dee082586af4e390f45497d4a1dd3ba4b7b622e232822",
|
||||
"recipeVersion": "1.4.0",
|
||||
"lastSpecSnapshot": "2026-08-20",
|
||||
"lastRunAt": "2026-08-21T07:43:56.747Z",
|
||||
"publishedVersion": "0.1.0"
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
"auth": { "apiKey": "__SCHED_API_KEY__" },
|
||||
"data": {
|
||||
"stages": ["hash", "patch", "diff", "classify", "generate", "fix", "build", "postman", "state", "publish"],
|
||||
"dryRun": false
|
||||
"dryRun": false,
|
||||
"readmeTemplate": "/app/data/package-readme.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user