К содержимому

Документация

TypeScript SDK: Sources: входы процесса и цены

ctx.sources() читает заранее закреплённые входы процесса и локально сравнивает цены. Произвольное письмо или чужой прогон недоступны.

Примеры — отдельные фрагменты тела async function run(ctx: Akmelo.Context): Promise<void>. Используйте await только для методов с Promise в сигнатуре.

Методы

input

ctx.sources().input(key) → Promise<object>

Для входа типа records возвращает records, run_id, collected_at. Для входа mail возвращает проверенное письмо с текстом, темой, отправителем, сроком хранения и метаданными вложений.

const result = await ctx.sources().input('catalog');

document

ctx.sources().document(key, id) → Promise<Document>

Читает безопасное вложение только из письма выбранного входа. Обработчик документов работает внутри системы. Содержимое вложения не передаётся внешней модели.

const result = await ctx.sources().document('supplier', 'attachment-id');

comparePrices

ctx.sources().comparePrices(offers) → Array<object>

Сравнивает от двух до десяти источников. Каждый источник содержит до 5000 записей с sku (строка), price (число до двух знаков после запятой) и currency (например, RUB). Артикулы сопоставляются точно. Разные валюты, отрицательные цены и повторяющиеся артикулы внутри одного источника отклоняются.

const result = ctx.sources().comparePrices({ catalog: [{ sku: 'A-1', price: 1250, currency: 'RUB' }], supplier: [{ sku: 'A-1', price: 1200, currency: 'RUB' }] });