Актуальный код
Последняя версия кода
Code.js
/**
* @OnlyCurrentDoc
* @author Mikhail Nosaev <m.nosaev@gmail.com>
* @see {@link https://t.me/nosaev_m Telegram} разработка Google таблиц и GAS скриптов
* @see {@link https://yandex.ru/dev/market/partner-api/doc/ru/ YandexMarket API}
* Актуально для версии 23
*/
var service = PropertiesService.getScriptProperties();
const YM = YandexMarket;
const businessId = service.getProperty("businessId");
const token = service.getProperty("token");
const apiKey = service.getProperty("apiKey");
const campaignId = service.getProperty("campaignId");
function onOpen() {
YM.CONFIG.menu.full();
}
const debug = false;
const useCampaignIds = [];
const YMC =
(token || apiKey) && businessId
? YM.apiClient({
businessId,
token,
apiKey,
campaignId,
useCampaignIds,
service,
logRequest: debug,
})
: null;
function setAccess() {
YM.setAccess(service);
}
// ####################################################################################################################################
// ОСТАТКИ
// ####################################################################################################################################
function ymStocks() {
// Информация об остатках и оборачиваемости
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/stocks/getStocks
const { settings: accumulate } = YM.getSettingsMain({ func: arguments.callee.name });
YM.stocks(YMC, { accumulate });
}
function ymStocksAll() {
// Информация об остатках и оборачиваемости (все магазины)
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/stocks/getStocks
const { settings: accumulate } = YM.getSettingsMain({ func: arguments.callee.name });
YM.stocksAll(YMC, { accumulate });
}
// ####################################################################################################################################
// ЗАКАЗЫ
// ####################################################################################################################################
function ymOrders() {
// Информация о нескольких заказах
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/orders/getOrders
const { fromDate, toDate, settings: status } = YM.getSettingsMain({ func: arguments.callee.name });
YM.orders(YMC, {
fromDate,
toDate,
status,
debug
});
}
function ymOrdersAll() {
// Информация о нескольких заказах (все магазины)
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/orders/getOrders
const { fromDate, toDate, settings: status } = YM.getSettingsMain({ func: arguments.callee.name });
YM.ordersAll(YMC, {
fromDate,
toDate,
status
});
}
// ####################################################################################################################################
// ВОЗВРАТЫ
// ####################################################################################################################################
function ymReturns() {
// Список невыкупов и возвратов
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/orders/getReturns
const { fromDate, toDate, settings: type } = YM.getSettingsMain({ func: arguments.callee.name });
YM.returns(YMC, {
fromDate,
toDate,
type
});
}
function ymReturnsAll() {
// Список невыкупов и возвратов (все магазины)
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/orders/getReturns
const { fromDate, toDate, settings: type } = YM.getSettingsMain({ func: arguments.callee.name });
YM.returnsAll(YMC, {
fromDate,
toDate,
type,
});
}
// ####################################################################################################################################
// ЦЕНЫ
// ####################################################################################################################################
function ymPrices() {
// Просмотр цен на указанные товары в магазине
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getPricesByOfferIds
const { settings: accumulate } = YM.getSettingsMain({ func: arguments.callee.name });
YM.prices(YMC, { accumulate });
}
function ymPricesAll() {
// Просмотр цен на указанные товары в магазине (все магазины)
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getPricesByOfferIds
const { settings: accumulate } = YM.getSettingsMain({ func: arguments.callee.name });
YM.pricesAll(YMC, { accumulate });
}
function ymPricesRecommendations() {
// Рекомендации Маркета, касающиеся цен
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/getOfferRecommendations
YM.pricesRecommendations(YMC, { debug });
}
// ####################################################################################################################################
// ТОВАРЫ
// ####################################################################################################################################
function ymBusinessesAssortment() {
// Информация о товарах в каталоге
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/getOfferMappings
const { settings: cardStatuses } = YM.getSettingsMain({ func: arguments.callee.name });
YM.businessesAssortment(YMC, { cardStatuses, useCampaignIds, debug });
}
// ####################################################################################################################################
// ПРОЧЕЕ
// ####################################################################################################################################
function ymWarehouses() {
// Идентификаторы складов Маркета (FBY)
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/warehouses/getFulfillmentWarehouses
YM.warehouses(YMC);
}
function ymCampaigns() {
// Список магазинов пользователя
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns
YM.campaigns(YMC, {});
}
// ####################################################################################################################################
// АКЦИИ
// ####################################################################################################################################
function ymPromos() {
// Получение списка акций
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/promos/getPromos
const { settings: mechanics } = YM.getSettingsMain({ func: arguments.callee.name });
YM.promos(YMC, { mechanics });
}
function ymPromoOffers() {
// Получение списка товаров, которые участвуют или могут участвовать в акции
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/promos/getPromoOffers
const { settings: promos } = YM.getSettingsMain({ func: arguments.callee.name });
YM.promoOffers(YMC, { promos });
}
// ####################################################################################################################################
// ОТЧЕТЫ
// ####################################################################################################################################
function ymReportStatsOrders() {
// Детальная информация по заказам
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/stats/getOrdersStats
const { fromDate: dateFrom, toDate: dateTo, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportStatsOrders(YMC, {
dateFrom,
dateTo,
campaignId
});
}
function ymReportShowsSales() {
// Отчет «Аналитика продаж»
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateShowsSalesReport
const { fromDate: dateFrom, toDate: dateTo, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportShowsSales(YMC, {
dateFrom,
dateTo,
campaignId
});
}
function ymReportBoostConsolidated() {
// Отчет по бусту продаж
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateBoostConsolidatedReport
const { fromDate: dateFrom, toDate: dateTo } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportBoostConsolidated(YMC, {
dateFrom,
dateTo,
});
}
function ymReportGoodsFeedback() {
// Отчет по отзывам о товарах
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateGoodsFeedbackReport
YM.reportGoodsFeedback(YMC);
}
function ymReportShelfStatistics() {
// Отчет по полкам
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateShelfsStatisticsReport
const { fromDate: dateFrom, toDate: dateTo, settings: attributionType } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportShelfStatistics(YMC, {
dateFrom,
dateTo,
attributionType
});
}
function ymReportStocksOnWarehouses() {
// Отчет по остаткам на складах
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateStocksOnWarehousesReport
const { settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportStocksOnWarehouses(YMC, {
campaignId
});
}
function ymReportGoodsTurnover() {
// Отчет по оборачиваемости
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateGoodsTurnoverReport
const { fromDate: date, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportGoodsTurnover(YMC, {
campaignId,
date
});
}
function ymReportUnitedMarketplaceServices() {
// Отчет по стоимости услуг
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateUnitedMarketplaceServicesReport
const { fromDate: dateFrom, toDate: dateTo, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportUnitedMarketplaceServices(YMC, {
dateFrom,
dateTo,
campaignId,
});
}
function ymReportUnitedMarketplaceServicesAll() {
// Отчет по стоимости услуг
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateUnitedMarketplaceServicesReport
const { fromDate: dateFrom, toDate: dateTo, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportUnitedMarketplaceServicesAll(YMC, {
dateFrom,
dateTo,
campaignId,
});
}
function ymReportGoodsRealization() {
// Отчет по реализации
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generateGoodsRealizationReport
const { fromDate, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportGoodsRealization(YMC, {
month: parseInt(fromDate.split("-")[1]),
year: parseInt(fromDate.split("-")[0]),
campaignId
});
}
function ymReportPrices() {
// Отчет «Цены на рынке»
// @see https://yandex.ru/dev/market/partner-api/doc/ru/reference/reports/generatePricesReport
const { fromDate: creationDateFrom, toDate: creationDateTo, settings: campaignId } = YM.getSettingsMain({ func: arguments.callee.name });
YM.reportPrices(YMC, {
creationDateFrom,
creationDateTo,
campaignId
});
}
Last updated