wildberriesapifordev | Unsorted

Telegram-канал wildberriesapifordev - API WILDBERRIES for Dev

2025

⚠️ Не официальная группа по обсуждению API Wildberries, больше для программистов, чем для людей! :)

Subscribe to a channel

API WILDBERRIES for Dev

Спасибо, Юрий) Не в первый раз выручаете)

Читать полностью…

API WILDBERRIES for Dev

Чем самовыкуп отличается от продажи?

Читать полностью…

API WILDBERRIES for Dev

/channel/wildberriesApiForDev/103712

Читать полностью…

API WILDBERRIES for Dev

Пора уже ррц установить в 100 рублей в en_US.UTF8 ))

Читать полностью…

API WILDBERRIES for Dev

Попробуйте здесь

Читать полностью…

API WILDBERRIES for Dev

Добрый вечер
https://advert-api.wildberries.ru/adv/v2/fullstats
Отдает по интервалу данные, которые не полностью совпадают с выгрузками из ЛК. Что-то совпадает рубль в рубль, что-то значительно отличается.
Таймзоны у метода случаем нет никакой? У кого-нибудь получается выгружать +- совпадающую с ЛК статистику по рекламе?

Читать полностью…

API WILDBERRIES for Dev

Эти методы
https://openapi.wb.ru/prices/api/ru/#tag/Spiski-tovarov/paths/~1api~1v2~1list~1goods~1filter/get
https://openapi.wb.ru/prices/api/ru/#tag/Spiski-tovarov/paths/~1api~1v2~1list~1goods~1size~1nm/get

Читать полностью…

API WILDBERRIES for Dev

Кажется в другом отчете где-то 2 поля всегда одинаковые. Даже в доке написано было в шапке метода. Не помню какой.

Читать полностью…

API WILDBERRIES for Dev

Блин, или я с другим полем спутал?

Читать полностью…

API WILDBERRIES for Dev

Не интересовал этот спп никогда...
Сейчас посмотрел, весь год нули😅 Пардоньте...

А вот поля цен различаются довольно часто.

Читать полностью…

API WILDBERRIES for Dev

Спасибо в любом случае)

Читать полностью…

API WILDBERRIES for Dev

Эти параметры одинаковые

Читать полностью…

API WILDBERRIES for Dev


COALESCE(p.avg_ppvz_for_pay_by_fin_report, s.sales_amount_sum_without_spp) * (s.sales_count - COALESCE(rd.return_count, 0::bigint))::double precision - COALESCE(d.delivery_rub_avg, 118::double precision) * s.sales_count::double precision + COALESCE(rd.return_delivery_sum, 0::bigint)::double precision - COALESCE(ac.acceptance_sum, 0::double precision) - COALESCE(ps.paidstorage_sum, 0::double precision) - COALESCE(adv.adv_costs, 0::bigint)::double precision - COALESCE(s.sales_amount_sum_without_spp, 0::double precision) * tax.tax_rate::double precision - COALESCE(s.sales_count, 0::bigint)::double precision * COALESCE(ag.avg_last_two_prices, 0::double precision) - COALESCE(s.sales_count, 0::bigint)::double precision * COALESCE(ag.last_fulfillment, 0::double precision) AS "Прибыль",
ag.is_ours,
ag.article AS purchases_article,
COALESCE(ds.opencardcount_sum, 0::bigint) AS wb_opencardcount_sum,
COALESCE(ds.addtocartcount_sum, 0::bigint) AS wb_addtocartcount_sum
FROM sales_table s
FULL JOIN orders_data od ON od.nmid = s.nmid AND s.date = od.date AND s.supplier_name = od.supplier_name
LEFT JOIN ppvz_for_pay_table p ON s.nmid = p.nm_id
LEFT JOIN acceptance_data ac ON s.nmid = ac.nmid AND s.date = ac.date
LEFT JOIN delivery_data d ON s.nmid = d.nm_id AND s.supplier_name = d.supplier
LEFT JOIN paid_storage ps ON s.nmid = ps.nmid AND s.date = ps.date
LEFT JOIN adv_data adv ON s.nmid = adv.nm_id AND s.date = adv.adv_date
LEFT JOIN aggregateddata ag ON s.nmid = ag.nm_id AND s.supplier_name = ag.supplier
LEFT JOIN products.tax tax ON s.supplier_name = tax.supplier::text
LEFT JOIN return_delivery rd ON s.nmid = rd.nmid AND s.supplier_name = rd.supplier_name AND s.date = rd.date
LEFT JOIN detail_stat ds ON ds.nm_id = s.nmid AND s.supplier_name = ds.supplier AND s.date = ds.order_date;

Читать полностью…

API WILDBERRIES for Dev

Прошу судить не строго, я не претендую на опытного специалиста по SQL запросам

WITH sales_table AS (
SELECT s_1.supplier_name,
s_1.nmid,
s_1.date::date AS date,
count(DISTINCT s_1.srid) AS sales_count,
sum(
CASE
WHEN s_1.spp = 0 THEN s_1.pricewithdisc
ELSE s_1.pricewithdisc - s_1.pricewithdisc * s_1.spp::double precision / 100::double precision
END) AS sales_amount_sum_without_spp
FROM reports.sales s_1
WHERE upper(s_1.saleid) ~~ 'S%'::text
GROUP BY s_1.supplier_name, s_1.nmid, (s_1.date::date)
), orders_data AS (
SELECT o.nmid,
o.date::date AS date,
o.supplier_name,
count(DISTINCT o.srid) AS orders_count,
sum(
CASE
WHEN o.spp = 0 THEN o.pricewithdisc
ELSE o.pricewithdisc - o.pricewithdisc * o.spp::double precision / 100::double precision
END) AS orders_amount_sum_without_spp
FROM reports.orders o
GROUP BY o.nmid, (o.date::date), o.supplier_name
), return_delivery AS (
SELECT s_1.nmid,
s_1.supplier_name,
s_1.date::date AS date,
count(DISTINCT s_1.srid) AS return_count,
count(DISTINCT s_1.srid) * 50 AS return_delivery_sum
FROM reports.sales s_1
WHERE s_1.saleid !~~ 'S%'::text
GROUP BY s_1.nmid, s_1.supplier_name, (s_1.date::date)
), ppvz_for_pay_table AS (
SELECT dfr.nm_id,
avg(dfr.ppvz_for_pay::double precision) AS avg_ppvz_for_pay_by_fin_report
FROM reports.detail_finance_reports dfr
WHERE upper(dfr.doc_type_name) = 'ПРОДАЖА'::text AND dfr.quantity = 1 AND upper(dfr.supplier_oper_name) = 'ПРОДАЖА'::text AND dfr.date_from::date >= (CURRENT_DATE - '30 days'::interval)
GROUP BY dfr.nm_id
), acceptance_data AS (
SELECT sum(t.acceptance_sum) AS acceptance_sum,
t.supplier,
t.nmid,
t.date
FROM ( SELECT a.supplier,
a.nmid,
a."shkсreatedate" AS date,
sum(a.total) AS acceptance_sum
FROM reports.acceptance a
GROUP BY a.nmid, a."shkсreatedate", a.supplier
HAVING sum(a.total) > 0::double precision
UNION ALL
SELECT cfi.supplier,
cfi.nmid,
cfi.createdat::date AS date,
sum(cfi.scanprice) AS acceptance_sum
FROM supplies.corrected_fbs_incomes cfi
WHERE cfi.scanprice >= 0::double precision AND cfi.scanprice IS NOT NULL AND cfi.scanprice <> 'NaN'::double precision
GROUP BY cfi.nmid, cfi.createdat, cfi.supplier
HAVING sum(cfi.scanprice) > 0::double precision) t
GROUP BY t.supplier, t.nmid, t.date
), delivery_data AS (
SELECT dfr.nm_id,
dfr.supplier,
avg(dfr.delivery_rub::double precision) AS delivery_rub_avg
FROM reports.detail_finance_reports dfr
WHERE dfr.nm_id <> 0 AND dfr.delivery_amount = 1 AND dfr.sale_dt::date >= (CURRENT_DATE - '30 days'::interval)
GROUP BY dfr.nm_id, dfr.supplier
), paid_storage AS (
SELECT ps_1.nmid,
ps_1.date,
ps_1.supplier,
sum(ps_1.warehouseprice) AS paidstorage_sum
FROM reports.paid_storage ps_1
GROUP BY ps_1.date, ps_1.nmid, ps_1.supplier
), adv_data AS (
SELECT af.adv_date,
af.supplier,
af.nm_id,
sum(af.views) AS adv_views_sum,
sum(af.clicks) AS adv_clicks_sum,
sum(af.atbs) AS adv_atbs_sum,
sum(af.orders) AS adv_orders_sum,
sum(af.sum) AS adv_costs
FROM analytics.adv_fullstats af
GROUP BY af.adv_date, af.supplier, af.nm_id

Читать полностью…

API WILDBERRIES for Dev

https://dev.wildberries.ru/openapi/reports#tag/Otchyoty-po-tovaram/paths/~1api~1v1~1supplier~1orders/get

lastChangeDate

Читать полностью…

API WILDBERRIES for Dev

Согласен, ничем, кроме того, что в качестве покупателя выступает продавец

Читать полностью…

API WILDBERRIES for Dev

Я правильно понимаю, что самовыкупы и раздача помечаются своим значением supplier_oper_name в запросе reportDetailByPeriod?

Читать полностью…

API WILDBERRIES for Dev

Ребят, выручите пожалуйста..
Мне нужно получить информацию по самовыкупам и раздачам, саггрегировать по номенклатуре за указанный период времени. Может кто-нибудь подсказать метод апи, на который стоит внимание обратить?

Читать полностью…

API WILDBERRIES for Dev

тут нет цены на товар, только размеры скидок

Читать полностью…

API WILDBERRIES for Dev

Добрый вечер.
Подскажите пожалуйста, как получить актуальные цены на по АПИ.
На данный момент получаю цены вот этим методом"/api/v1/supplier/stocks", но там только цены на товары, который есть на остатках. А каким методом можно получить все цены (даже ранее проданных товаров)?

Читать полностью…

API WILDBERRIES for Dev

Тут не выгружает спа

Читать полностью…

API WILDBERRIES for Dev

Доброго дня! может кто подсказать где могу выгрузить спп для товаров в гугл таблицу? в открытх апи нет такой возможности. может у кого уде есть скрипт готовый

Читать полностью…

API WILDBERRIES for Dev

Ну да.
retail_price - retail_price_withdisc_rub

Читать полностью…

API WILDBERRIES for Dev

Как заметил по поиску "СПП" в чате, ты много сталкивался..
Решил немного по подгонять и дошел до мини-формулки для рассчета спп:

spp =(retail_price - acquiring_fee - ppvz_sales_commission) * ppvz_spp_prc
Сильно отличаться от истины будет?

Читать полностью…

API WILDBERRIES for Dev

Где то была информация, вроде в новостях, что они ввели это поле, но они совпадают до особого распоряжения 😊

Читать полностью…

API WILDBERRIES for Dev

Об этом подумал, но отгонял мысли. Не понял зачем два отличных параметра для одинаковых значения, правда
Обратная совместимость?

Читать полностью…

API WILDBERRIES for Dev

Ввиду сомнений о корректности значений от wb. Среди 100000 транзакций не нашел ни одной, у которой была бы разница между параметрами отличной от нуля (retail_price - retail_price_withdisc_rub). Хотя параметр ppvz_spp_prc отличен от нуля

Если говорить о смысле, то, как почитал в чате, стандартное желание заказчика увидеть

Читать полностью…

API WILDBERRIES for Dev


), rankeddata AS (
SELECT p_1.nm_id,
p_1.supplier,
p_1.is_ours,
p2.price,
p2.fulfillment,
p2.article,
row_number() OVER (PARTITION BY p_1.nm_id, p_1.supplier, p_1.is_ours ORDER BY p2.ctid DESC) AS rn,
rank() OVER (PARTITION BY p_1.nm_id, p_1.supplier, p_1.is_ours ORDER BY p2.ctid DESC) AS rnk_price
FROM products.products p_1
LEFT JOIN products.purchases p2 ON p_1.purchase_article = COALESCE(NULLIF(p2.article, ''::text), 'no_data'::text) AND p_1.supplier = p2.supplier
), aggregateddata AS (
SELECT rankeddata.nm_id,
rankeddata.supplier,
rankeddata.is_ours,
rankeddata.article,
avg(
CASE
WHEN rankeddata.rnk_price <= 2 THEN rankeddata.price
ELSE NULL::double precision
END) AS avg_last_two_prices,
max(
CASE
WHEN rankeddata.rn = 1 THEN rankeddata.fulfillment
ELSE NULL::double precision
END) AS last_fulfillment
FROM rankeddata
GROUP BY rankeddata.nm_id, rankeddata.supplier, rankeddata.is_ours, rankeddata.article
), detail_stat AS (
SELECT do2.order_date,
do2.nm_id,
do2.supplier,
sum(do2.opencardcount) AS opencardcount_sum,
sum(do2.addtocartcount) AS addtocartcount_sum
FROM analytics.detail_orders do2
GROUP BY do2.order_date, do2.nm_id, do2.supplier
)
SELECT s.supplier_name,
s.nmid,
s.date,
COALESCE(s.sales_count, 0::bigint) AS sales_count,
COALESCE(s.sales_amount_sum_without_spp, 0::double precision) AS sales_amount_sum_without_spp,
COALESCE(od.orders_amount_sum_without_spp, 0::double precision) AS orders_amount_sum_without_spp,
COALESCE(od.orders_count, 0::bigint) AS orders_count,
COALESCE(rd.return_count, 0::bigint) AS return_count,
COALESCE(p.avg_ppvz_for_pay_by_fin_report, s.sales_amount_sum_without_spp) * (s.sales_count - COALESCE(rd.return_count, 0::bigint))::double precision AS ppvz_for_pay_adj,
COALESCE(d.delivery_rub_avg, 118::double precision) * s.sales_count::double precision + COALESCE(rd.return_delivery_sum, 0::bigint)::double precision AS delivery_rub_avg,
COALESCE(ac.acceptance_sum, 0::double precision) AS acceptance_sum,
COALESCE(ps.paidstorage_sum, 0::double precision) AS paidstorage_sum,
COALESCE(adv.adv_views_sum, 0::bigint) AS adv_views_sum,
COALESCE(adv.adv_orders_sum, 0::bigint) AS adv_orders_sum,
COALESCE(adv.adv_atbs_sum, 0::bigint) AS adv_atbs_sum,
COALESCE(adv.adv_clicks_sum, 0::bigint) AS adv_clicks_sum,
COALESCE(adv.adv_costs, 0::bigint) AS adv_costs,
COALESCE(ag.avg_last_two_prices, 0::double precision) AS avg_last_two_prices,
COALESCE(ag.last_fulfillment, 0::double precision) AS last_fulfillment,
COALESCE(s.sales_count, 0::bigint)::double precision * COALESCE(ag.avg_last_two_prices, 0::double precision) AS amount_of_purchases,
COALESCE(s.sales_count, 0::bigint)::double precision * COALESCE(ag.last_fulfillment, 0::double precision) AS amount_of_fulfillment,
COALESCE(p.avg_ppvz_for_pay_by_fin_report, s.sales_amount_sum_without_spp) * (s.sales_count - COALESCE(rd.return_count, 0::bigint))::double precision - COALESCE(d.delivery_rub_avg, 118::double precision) * s.sales_count::double precision + COALESCE(rd.return_delivery_sum, 0::bigint)::double precision - COALESCE(ac.acceptance_sum, 0::double precision) - COALESCE(ps.paidstorage_sum, 0::double precision) - COALESCE(adv.adv_costs, 0::bigint)::double precision AS "Маржа",
COALESCE(s.sales_amount_sum_without_spp * tax.tax_rate::double precision, 0::double precision) AS "Сумма налогов",

Читать полностью…

API WILDBERRIES for Dev

А зачем вычислять СПП(ppvz_spp_prc), если он итак там уже есть?

Не понятен сам вопрос....

Читать полностью…

API WILDBERRIES for Dev

Можно flag=0, но тогда обратите внимание на его описание, что вы будете получать ...

Читать полностью…
Subscribe to a channel