[{"data":1,"prerenderedAt":616},["ShallowReactive",2],{"navigation_docs":3,"-catalogue-offers":178,"-catalogue-offers-surround":611},[4,25,50,81,112,133,158],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":16,"path":17,"stem":18,"icon":19},"Concepts","\u002Fgetting-started\u002Fconcepts","1.getting-started\u002F2.concepts","i-lucide-book-a",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":6},"Workspace","i-lucide-users","\u002Fworkspace","2.workspace",[31,36,41,45],{"title":32,"path":33,"stem":34,"icon":35},"Account","\u002Fworkspace\u002Faccount","2.workspace\u002F1.account","i-lucide-circle-user",{"title":37,"path":38,"stem":39,"icon":40},"Teams","\u002Fworkspace\u002Fteams","2.workspace\u002F2.teams","i-lucide-building-2",{"title":42,"path":43,"stem":44,"icon":27},"Members and roles","\u002Fworkspace\u002Fmembers-and-roles","2.workspace\u002F3.members-and-roles",{"title":46,"path":47,"stem":48,"icon":49},"Projects","\u002Fworkspace\u002Fprojects","2.workspace\u002F4.projects","i-lucide-folder-kanban",{"title":51,"icon":52,"path":53,"stem":54,"children":55,"page":6},"Catalogue","i-lucide-package","\u002Fcatalogue","3.catalogue",[56,61,66,71,76],{"title":57,"path":58,"stem":59,"icon":60},"Products","\u002Fcatalogue\u002Fproducts","3.catalogue\u002F1.products","i-lucide-box",{"title":62,"path":63,"stem":64,"icon":65},"Offers","\u002Fcatalogue\u002Foffers","3.catalogue\u002F2.offers","i-lucide-tag",{"title":67,"path":68,"stem":69,"icon":70},"Brands","\u002Fcatalogue\u002Fbrands","3.catalogue\u002F3.brands","i-lucide-badge-check",{"title":72,"path":73,"stem":74,"icon":75},"Merchants","\u002Fcatalogue\u002Fmerchants","3.catalogue\u002F4.merchants","i-lucide-store",{"title":77,"path":78,"stem":79,"icon":80},"Custom attributes","\u002Fcatalogue\u002Fcustom-attributes","3.catalogue\u002F5.custom-attributes","i-lucide-list-plus",{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":6},"Scraping","i-lucide-scan-search","\u002Fscraping","4.scraping",[87,92,97,102,107],{"title":88,"path":89,"stem":90,"icon":91},"Connect Scrape Admin","\u002Fscraping\u002Fconnect-scrape-admin","4.scraping\u002F1.connect-scrape-admin","i-lucide-plug",{"title":93,"path":94,"stem":95,"icon":96},"Scrape profiles","\u002Fscraping\u002Fscrape-profiles","4.scraping\u002F2.scrape-profiles","i-lucide-scan-text",{"title":98,"path":99,"stem":100,"icon":101},"Schedules and configuration","\u002Fscraping\u002Fschedules-and-configuration","4.scraping\u002F3.schedules-and-configuration","i-lucide-sliders-horizontal",{"title":103,"path":104,"stem":105,"icon":106},"Sync and reconcile","\u002Fscraping\u002Fsync-and-reconcile","4.scraping\u002F4.sync-and-reconcile","i-lucide-refresh-cw",{"title":108,"path":109,"stem":110,"icon":111},"Webhooks","\u002Fscraping\u002Fwebhooks","4.scraping\u002F5.webhooks","i-lucide-webhook",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":6},"Growing the catalogue","i-lucide-sprout","\u002Fgrowing-the-catalogue","5.growing-the-catalogue",[118,123,128],{"title":119,"path":120,"stem":121,"icon":122},"Imports","\u002Fgrowing-the-catalogue\u002Fimports","5.growing-the-catalogue\u002F1.imports","i-lucide-import",{"title":124,"path":125,"stem":126,"icon":127},"Repair queues","\u002Fgrowing-the-catalogue\u002Frepair-queues","5.growing-the-catalogue\u002F2.repair-queues","i-lucide-wrench",{"title":129,"path":130,"stem":131,"icon":132},"Wrong URL flow","\u002Fgrowing-the-catalogue\u002Fwrong-url-flow","5.growing-the-catalogue\u002F3.wrong-url-flow","i-lucide-route",{"title":134,"icon":135,"path":136,"stem":137,"children":138,"page":6},"Publishing","i-lucide-globe","\u002Fpublishing","6.publishing",[139,143,148,153],{"title":140,"path":141,"stem":142,"icon":135},"Websites","\u002Fpublishing\u002Fwebsites","6.publishing\u002F1.websites",{"title":144,"path":145,"stem":146,"icon":147},"Website content","\u002Fpublishing\u002Fwebsite-content","6.publishing\u002F2.website-content","i-lucide-languages",{"title":149,"path":150,"stem":151,"icon":152},"SEO templates","\u002Fpublishing\u002Fseo-templates","6.publishing\u002F3.seo-templates","i-lucide-search",{"title":154,"path":155,"stem":156,"icon":157},"Analytics","\u002Fpublishing\u002Fanalytics","6.publishing\u002F4.analytics","i-lucide-chart-line",{"title":159,"icon":160,"path":161,"stem":162,"children":163,"page":6},"Developers","i-lucide-code","\u002Fdevelopers","7.developers",[164,169,173],{"title":165,"path":166,"stem":167,"icon":168},"Public API","\u002Fdevelopers\u002Fpublic-api","7.developers\u002F1.public-api","i-lucide-code-xml",{"title":170,"path":171,"stem":172,"icon":52},"Listings client","\u002Fdevelopers\u002Flistings-client","7.developers\u002F2.listings-client",{"title":174,"path":175,"stem":176,"icon":177},"Click tracking","\u002Fdevelopers\u002Fclick-tracking","7.developers\u002F3.click-tracking","i-lucide-mouse-pointer-click",{"id":179,"title":62,"body":180,"description":603,"extension":604,"links":605,"meta":606,"navigation":607,"path":63,"seo":608,"stem":64,"__hash__":610},"docs\u002F3.catalogue\u002F2.offers.md",{"type":181,"value":182,"toc":589},"minimark",[183,199,206,211,214,314,330,345,355,392,397,413,417,436,440,446,460,477,481,490,516,520,556,560,571],[184,185,186,187,190,191,194,195,198],"p",{},"An offer is one shop's listing of a product: a URL, a price and stock. Offers are scraped on a schedule, and every result updates the price and adds a point to the price history. The ",[188,189,62],"strong",{}," page lists every offer in the project and is the place to find out what is failing and why. To add an offer, open a product and click ",[188,192,193],{},"Add offer",", see ",[196,197,57],"a",{"href":58},".",[184,200,201],{},[202,203],"img",{"alt":204,"src":205},"The offers list with health tabs and top causes","\u002Fscreenshots\u002Foffers.png",[207,208,210],"h2",{"id":209},"the-offers-list","The offers list",[184,212,213],{},"The tabs at the top split offers by health, each with a count:",[215,216,217,230],"table",{},[218,219,220],"thead",{},[221,222,223,227],"tr",{},[224,225,226],"th",{},"Tab",[224,228,229],{},"Meaning",[231,232,233,244,254,264,274,284,294,304],"tbody",{},[221,234,235,241],{},[236,237,238],"td",{},[188,239,240],{},"All",[236,242,243],{},"Every offer.",[221,245,246,251],{},[236,247,248],{},[188,249,250],{},"Failing",[236,252,253],{},"The last scrape errored or the page returned a non-2xx status.",[221,255,256,261],{},[236,257,258],{},[188,259,260],{},"Sync errors",[236,262,263],{},"The offer could not be pushed to Scrape Admin.",[221,265,266,271],{},[236,267,268],{},[188,269,270],{},"No result yet",[236,272,273],{},"Active, but no scrape result has arrived yet.",[221,275,276,281],{},[236,277,278],{},[188,279,280],{},"Stale",[236,282,283],{},"Active, but no result in the last 7 days. Runs failing inside Scrape Admin never send a webhook.",[221,285,286,291],{},[236,287,288],{},[188,289,290],{},"Paused",[236,292,293],{},"Inactive: paused by hand, or deactivated by a scrape result.",[221,295,296,301],{},[236,297,298],{},[188,299,300],{},"Not found",[236,302,303],{},"The page answered 404 or 410, so the URL is probably wrong.",[221,305,306,311],{},[236,307,308],{},[188,309,310],{},"Gone",[236,312,313],{},"Marked as no longer sold at the merchant: paused, but kept for its history.",[184,315,316,317,319,320,322,323,194,326,319,328,198],{},"The ",[188,318,300],{}," and ",[188,321,310],{}," tabs link to ",[188,324,325],{},"Open Repair",[196,327,124],{"href":125},[196,329,129],{"href":130},[184,331,332,333,336,337,340,341,344],{},"Below the tabs, a ",[188,334,335],{},"Top causes"," panel groups failing offers by HTTP status or error text, and ",[188,338,339],{},"By merchant"," groups them by shop. Click a chip to filter to it, or its eye icon to exclude it. Excluded filters appear as red \"Not ...\" badges. Use ",[188,342,343],{},"Clear filters"," to start over.",[184,346,347,348,351,352,198],{},"You can also search (",[188,349,350],{},"Search product, merchant, URL or error...",") and use ",[188,353,354],{},"Filter by merchant",[184,356,357,358,361,362,361,365,361,368,361,371,361,374,319,377,380,381,361,385,388,389,198],{},"The table shows ",[188,359,360],{},"Product",", ",[188,363,364],{},"Merchant",[188,366,367],{},"Status",[188,369,370],{},"Problem",[188,372,373],{},"Last result",[188,375,376],{},"Price",[188,378,379],{},"Clicks (30d)",". The status is the HTTP code of the last run, or ",[382,383,384],"code",{},"inactive",[382,386,387],{},"pending"," or ",[382,390,391],{},"error",[393,394,396],"h3",{"id":395},"active-inactive-and-gone","Active, inactive and gone",[184,398,399,400,403,404,406,407,409,410,412],{},"An ",[188,401,402],{},"active"," offer is scraped on its schedule. An ",[188,405,384],{}," offer is not scraped, but keeps its price history; you can switch it back on at any time. A scrape result can also deactivate an offer, depending on the status codes configured in ",[196,408,98],{"href":99},". ",[188,411,310],{}," is a step further: the wrong-URL flow marks an offer as gone when the product is no longer sold, which also pauses it and takes it out of every repair queue.",[393,414,416],{"id":415},"bulk-actions","Bulk actions",[184,418,419,420,361,423,361,426,319,429,432,433,435],{},"Select rows with the checkboxes (write access needed) to get a bar with ",[188,421,422],{},"Refresh selected",[188,424,425],{},"Activate",[188,427,428],{},"Deactivate",[188,430,431],{},"Clear selection",". Deactivating asks for confirmation. ",[188,434,422],{}," only appears when Scrape Admin is connected, and handles up to 100 offers at a time. Disabled offers and offers of deprecated products or merchants are skipped.",[207,437,439],{"id":438},"the-offer-page","The offer page",[184,441,442],{},[202,443],{"alt":444,"src":445},"An offer page with scrape status and price history","\u002Fscreenshots\u002Foffer-detail.png",[184,447,448,449,452,453,456,457,459],{},"The left side shows the URL, merchant, product, price, stock, clicks and the ",[188,450,451],{},"Active"," switch, followed by custom fields and the price history. The right side has a ",[188,454,455],{},"Scrape status"," card (status code, last result, schedule, delivery mode, next run and whether the offer is linked to Scrape Admin) and a ",[188,458,373],{}," card.",[184,461,462,463,466,467,361,470,319,473,476],{},"The buttons at the top are ",[188,464,465],{},"Refresh"," (when connected to Scrape Admin: syncs the offer and queues a run now; the result arrives shortly by webhook), ",[188,468,469],{},"Open URL",[188,471,472],{},"Edit",[188,474,475],{},"Delete",". Deleting an offer also deletes its price history.",[393,478,480],{"id":479},"diagnose","Diagnose",[184,482,483,484,486,487,489],{},"Click ",[188,485,480],{}," on the ",[188,488,455],{}," card. The dialog has these tabs:",[491,492,493,500,508],"ul",{},[494,495,496,499],"li",{},[188,497,498],{},"Diagnosis"," lists findings with a suggested next step, for example a blocked request, a page that was not found, or a value that could not be read from the page. It also shows the raw last result.",[494,501,502,505,506,198],{},[188,503,504],{},"Deliveries"," is the log of every scrape result Scrape Admin sent for this offer, see ",[196,507,108],{"href":109},[494,509,510,513,514,198],{},[188,511,512],{},"Scrape Admin"," shows live runs from Scrape Admin. It only appears when the project is connected, see ",[196,515,88],{"href":89},[393,517,519],{"id":518},"edit-and-schedule","Edit and schedule",[184,521,522,524,525,528,529,532,533,361,535,538,539,542,543,546,547,361,550,319,552,555],{},[188,523,472],{}," opens the offer form: ",[188,526,527],{},"URL",", merchant (matched from the URL host, with a ",[188,530,531],{},"Change"," option), ",[188,534,376],{},[188,536,537],{},"Stock",", and under ",[188,540,541],{},"Advanced"," a ",[188,544,545],{},"Schedule"," (cron; empty uses a project default), ",[188,548,549],{},"Webhook trigger",[188,551,451],{},[188,553,554],{},"Internal note",". The webhook trigger decides when a scrape result is delivered: on change, on every run, or by custom code.",[207,557,559],{"id":558},"price-history","Price history",[184,561,562,563,566,567,570],{},"Every price change is recorded with the time, price, change, stock, status and source (for example ",[382,564,565],{},"webhook","). Use the ",[188,568,569],{},"..."," menu on a row:",[491,572,573,583],{},[494,574,575,578,579,582],{},[188,576,577],{},"Correct price"," fixes a wrongly recorded price, currency or stock in place. Click ",[188,580,581],{},"Save correction",". The original value is kept and the correction is logged in the product history. If it is the latest record, the offer's current price is updated too.",[494,584,585,588],{},[188,586,587],{},"Delete record"," removes a record that should never have been made. If it was the latest, the offer goes back to the record before it. The deletion is logged.",{"title":590,"searchDepth":591,"depth":591,"links":592},"",2,[593,598,602],{"id":209,"depth":591,"text":210,"children":594},[595,597],{"id":395,"depth":596,"text":396},3,{"id":415,"depth":596,"text":416},{"id":438,"depth":591,"text":439,"children":599},[600,601],{"id":479,"depth":596,"text":480},{"id":518,"depth":596,"text":519},{"id":558,"depth":591,"text":559},"Monitor offer health, understand active, inactive and gone offers, and fix price history.","md",null,{},{"icon":65},{"title":62,"description":609},"How to filter offers by health, deactivate and refresh them, diagnose scrape problems, correct price history and read the Scrape Admin delivery log.","bMXOoPRkNsV3rHXsk2xeNvKDms3dtas3iFCPKwioEiI",[612,614],{"title":57,"path":58,"stem":59,"description":613,"icon":60,"children":-1},"Find, create, edit, merge and delete the products you compare, and see their offers and price history.",{"title":67,"path":68,"stem":69,"description":615,"icon":70,"children":-1},"Manage the manufacturers whose products you compare: create, edit, merge and delete brands.",1792440613583]