pricing_app_* — Pricing App

The Pricing App tool namespace — file and live imports, import monitoring, product search, parsing vendor price lists, Keepa refreshes, and the cheaper-than-Amazon finder.

The Pricing App namespace drives vendor price-list ingestion and the product catalog on nvrbackup. The import tools are the operational core; the rest read and enrich the catalog. The path rules and the broken-CSV-parse gotcha are covered in depth on the Pricing App File Import pattern — read that before writing import code. This page is the signature reference.

Imports

pricing_app_create_file_import

Import a CSV that already exists on nvrbackup.

pricing_app_create_file_import(vendor_name, file_path, use_generic_parser=False)
ParamNotes
vendor_nameRequired — vendor label for the import
file_pathPath on nvrbackup, e.g. /tmp/aqua-systems.csv
use_generic_parserSet True for arbitrary CSV layouts. Without it, the import looks for a vendor-specific parser and usually fails.

pricing_app_create_live_import

Pull from a vendor’s live API rather than a file.

pricing_app_create_live_import(vendor_name, term=None, manufacturer=None,
                               category=None, product_type=None, page=1,
                               max_pages=None, limit=100, min_qty=1,
                               allow_missing_qty=False)

Filter the pull with term / manufacturer / category / product_type. min_qty (default 1) drops zero-stock rows; allow_missing_qty=True keeps rows with no quantity field at all.

pricing_app_parse_price_list

Normalize pasted/emailed vendor pricing into a CSV on the server.

pricing_app_parse_price_list(vendor_name, raw_text=None, gmail_message_id=None,
                             output_path=None)

Point output_path at a path on nvrbackup so the file lands where the importer can read it. You can feed it raw text or pull straight from an email with gmail_message_id.

Monitoring imports

pricing_app_get_import_status

Single status read for an import.

pricing_app_get_import_status(import_id)

pricing_app_monitor_import

Block until the import completes or times out.

pricing_app_monitor_import(import_id, max_wait=600, poll_interval=5)

Use this for normal-size imports; for very large ones, poll pricing_app_get_import_status yourself instead of holding a 10-minute call.

pricing_app_list_imports

Recent imports, filterable.

pricing_app_list_imports(days=7, vendor=None, status=None, limit=50)

Catalog reads

pricing_app_list_products

Search and filter the product catalog. The widest tool in the namespace.

pricing_app_list_products(q=None, brand=None, category=None, condition=None,
                          active=None, has_asin=None, has_forecast=None,
                          newegg_status=None, sales_trend=None,
                          min_deal_score=None, min_buy_confidence=None,
                          max_risk=None, sort=None, order=None,
                          include_related=False, page=1, limit=25)

q is free-text; the rest are facet filters (brand, category, ASIN presence, forecast presence, deal score, buy confidence, risk). include_related pulls related records inline.

pricing_app_get_product_details

Full detail for one SKU.

pricing_app_get_product_details(sku, include_related=True)

pricing_app_get_cheaper_than_amazon

Find catalog products priced below Amazon — the margin finder.

pricing_app_get_cheaper_than_amazon(vendor=None, brand=None, category=None,
                                    min_savings=None, min_savings_pct=None,
                                    min_amazon_price=None, has_rank=None,
                                    max_rank=None, exclude_vendors=None,
                                    import_id=None, days=30, sort="savings_pct",
                                    limit=100, page=1)

Scope to a vendor/brand/category, set a savings floor (min_savings absolute or min_savings_pct percentage), and sort by savings_pct (default). Pass import_id to restrict to one import’s products.

Enrichment & health

pricing_app_refresh_keepa

Trigger a Keepa (Amazon price-history) refresh for one or more SKUs.

pricing_app_refresh_keepa(sku=None, skus=None, max_concurrency=5)

Pass a single sku or a skus list. max_concurrency (default 5) bounds parallel refreshes.

pricing_app_health_check

pricing_app_health_check()

No args. A connect failure here usually means the pricing-app backend is stopped, not that the tool is broken.