販売履歴を取り込む
📌 ブックマークレットで一括取込
Safariでメルカリの販売済み商品一覧ページを開き、ブックマークレットをタップすると自動で取り込みます。
(function() {
// メルカリの販売済みアイテムページかチェック
if (!location.href.includes('mercari.com')) {
alert('メルカリのページで実行してください');
return;
}
var items = [];
// __NEXT_DATA__ からデータを取得を試みる
var nextDataEl = document.getElementById('__NEXT_DATA__');
if (nextDataEl) {
try {
var nextData = JSON.parse(nextDataEl.textContent);
var pageProps = nextData?.props?.pageProps;
var listings = pageProps?.items || pageProps?.listings || pageProps?.data?.items || [];
listings.forEach(function(item) {
items.push({
mercari_id: item.id || item.itemId || '',
title: item.name || item.title || '',
sale_price: item.price || item.soldPrice || 0,
sold_at: item.updated || item.soldAt || '',
image_url: item.thumbnails?.[0] || item.imageUrl || '',
description: item.description || '',
});
});
} catch(e) {}
}
// DOMからも取得を試みる
if (items.length === 0) {
var cards = document.querySelectorAll(
'[data-testid="item-cell"], [class*="item"], li[class*="Item"]'
);
cards.forEach(function(card) {
var titleEl = card.querySelector('[class*="name"], [class*="title"], h3');
var priceEl = card.querySelector('[class*="price"], [class*="Price"]');
var imgEl = card.querySelector('img');
var linkEl = card.querySelector('a[href*="/item/"]');
var mercariId = '';
if (linkEl) {
var match = linkEl.href.match(/\/item\/(m\w+)/);
if (match) mercariId = match[1];
}
if (titleEl || priceEl) {
items.push({
mercari_id: mercariId,
title: titleEl ? titleEl.textContent.trim() : '',
sale_price: priceEl ? parseInt(priceEl.textContent.replace(/[^0-9]/g, '')) || 0 : 0,
image_url: imgEl ? imgEl.src : '',
});
}
});
}
if (items.length === 0) {
alert('商品が見つかりませんでした。\n販売済みページで実行してください。');
return;
}
fetch('https://mercari-sales-app.pages.dev/api/import', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ sales: items })
})
.then(function(r) { return r.json(); })
.then(function(data) {
alert('✅ ' + (data.imported || 0) + '件を取り込みました!\n(重複はスキップ)');
})
.catch(function(e) {
alert('❌ 取込に失敗しました: ' + e.message);
});
})();ブックマークレットの更新方法
- 「📋 ブックマークレットをコピー(最新版)」をタップ
- 📚ブックマークから「📥メルカリ取込」を長押し → 編集
- URLを全選択して削除 → コピーしたコードを貼り付け → 完了
使い方: jp.mercari.com/mypage/listings?status=SOLD_OUT を開き、ページが完全に表示されてからブックマークをタップ
🔄 最新の販売分を同期
メルカリAPIへのアクセスを試みます。ログインセッションが必要なため、失敗する場合はブックマークレットをご利用ください。
📄 JSONで直接インポート
JSON形式のデータを貼り付けてインポートできます。配列形式、または { "sales": [...] } 形式に対応。