Docs / Precios de muchos productos u ofertas en una llamadaCurrent prices for many products or offers in one callMarkdown

Precios de muchos productos u ofertas en una llamada

POSThttps://pricto.dev/v1/prices/batch

For integrations that refresh a list of SKUs. Up to 500 items.

CréditosMCP
1 per offer price returned; items not found cost 0—

Parámetros#

ParámetroEnTipoDescripción
currencyquerystringAdd converted amounts in this ISO 4217 currency. local (default) returns source currency only. Default: local.

Cuerpo#

CampoTipoDescripción
items requeridoItemRef[]
items[].product_idstring
items[].gtinstring
items[].offer_idstring
items[].quantityintegerCompare only.
retailersstring[]
max_creditsnumber
dry_runboolean
min_confidencenumber
match_kindsstring[]

Respuesta#

200 One result per requested item, in the same order.

CampoTipoDescripción
data requeridoobject[]
data[].input requeridoItemRefExactly one of product_id, gtin or offer_id.
data[].input.product_idstring
data[].input.gtinstring
data[].input.offer_idstring
data[].input.quantityintegerCompare only.
data[].found requeridoboolean
data[].product_idstring | null
data[].pricesRetailerPrice[]
data[].prices[].currency requeridostring
data[].prices[].price requeridonumber
data[].prices[].list_price requeridonumber
data[].prices[].sale_pricenumber | null
data[].prices[].card_pricenumber | nullConvenience: the lowest price in conditional_prices that requires a payment method or membership.
data[].prices[].card_labelstring | null
data[].prices[].conditional_pricesConditionalPrice[]Every price that requires a condition other than quantity (payment method, loyalty tier, app, coupon), as published.
data[].prices[].conditional_prices[].kind requeridostringValores / values: payment_method, membership, app_only, coupon, other.
data[].prices[].conditional_prices[].label requeridostringAs shown by the retailer.
data[].prices[].conditional_prices[].price requeridonumber
data[].prices[].conditional_prices[].payment_methodstring | null
data[].prices[].conditional_prices[].membership_tierstring | null
data[].prices[].conditional_prices[].installments_countinteger | null
data[].prices[].conditional_prices[].interest_freeboolean | null
data[].prices[].unit_priceobject | null
data[].prices[].unit_price.amount requeridonumber
data[].prices[].unit_price.per requeridostringValores / values: kg, l, unit, m, m2.
data[].prices[].promotionsPromotion[]
data[].prices[].promotions[].type requeridostringValores / values: multi_buy, nth_unit, percent_off, amount_off, bundle, gift, other.
data[].prices[].promotions[].label requeridostringAs shown by the retailer, e.g. "2 x $2.990".
data[].prices[].promotions[].min_quantityinteger | null
data[].prices[].promotions[].effective_unit_pricenumber | nullPrice per item when the promotion applies.
data[].prices[].promotions[].requires_cardstring | nullPayment method required, if any.
data[].prices[].promotions[].valid_untilstring (date) | null
data[].prices[].availability requeridostringValores / values: in_stock, out_of_stock, limited, unknown.
data[].prices[].tax_includedbooleanAs shown by the retailer (observed).
data[].prices[].tax_ratenumber | nullDerived. Main VAT rate for this country and category, null when not known.
data[].prices[].price_ex_taxnumber | nullDerived from price and tax_rate. Null when tax_rate is null.
data[].prices[].tax_rule_idstring | nullVersioned rule used to derive tax_rate.
data[].prices[].other_taxes_includedboolean | nullTrue when other taxes remain in price_ex_tax (e.g. Chile IABA on sweetened drinks).
data[].prices[].installmentsobject
data[].prices[].observed_at requeridostring (date-time)
data[].prices[].observed_local_datestring (date)Capture date in the retailer time zone. Daily series use this date.
data[].prices[].capture_method requeridostringHow the price was obtained, part of the provenance with url and observed_at. public_page: read from the retailer's public web page (HTML, JSON-LD or the page payload). public_api: an open, unauthenticated JSON endpoint of the retailer's own site. retailer_feed: delivered by the retailer under an agreement. open_data: a public dataset published by a government or third party. Valores / values: public_page, public_api, retailer_feed, open_data.
data[].prices[].quality_statusstringwarning when a validation flagged the observation (price jump, zero, unusual unit). Quarantined observations are never served. Valores / values: ok, warning.
data[].prices[].quality_flagsstring[]Why the price was flagged. The price is delivered as published, never corrected. discount_over_85: more than 85% off the list price. round_price_low: a round price of CLP 1,000 or less. Both often mean a placeholder price or a store error.
data[].prices[].correctedbooleanTrue when the observation was amended after capture (the original is kept).
data[].prices[].convertedConverted
data[].prices[].converted.currency requeridostring
data[].prices[].converted.price requeridonumber
data[].prices[].converted.list_pricenumber | null
data[].prices[].converted.card_pricenumber | null
data[].prices[].converted.unit_pricenumber | null
data[].prices[].converted.fx_rate requeridonumberUnits of target currency per unit of source currency.
data[].prices[].converted.fx_date requeridostring (date)Publication date of the rate used (last published on or before the observation date).
data[].prices[].converted.fx_sourcestring
data[].prices[].converted.fx_methodstringValores / values: direct, cross.
data[].prices[].retailer requeridoRetailerRef
data[].prices[].retailer.id requeridostring
data[].prices[].retailer.name requeridostring
data[].prices[].offer_id requeridostring
data[].prices[].store_idstring | nullNull when the price is national/online.
data[].prices[].url requeridostring (uri)
data[].prices[].title_original requeridostring
data[].prices[].sellerSellerWho sells the offer. On marketplaces it is a third party; name is null when the seller is a natural person (no personal data).
data[].prices[].seller.id requeridostring
data[].prices[].seller.name requeridostring | null
data[].prices[].seller.is_retailer_itself requeridoboolean
data[].prices[].match requeridoMatchHow the offer was linked to the canonical product.
data[].prices[].match.method requeridostringsingleton: the offer matched nothing else and is its own product. Valores / values: gtin, rules, model, manual, singleton.
data[].prices[].match.confidence requeridonumber
data[].prices[].match.kind requeridostringidentical: the same item. pack: the offer is N units of the product (pack_ratio), comparable by unit price. equivalent: a declared substitute of another brand or lab, not the same item. Valores / values: identical, pack, equivalent.
data[].prices[].match.pack_rationumber | nullUnits of the product in the offer, for kind pack.
meta requeridoMeta

meta trae el costo, la fuente para citar, el idioma, la moneda y los avisos (ver Convenciones).

Errores#

Current prices for many products or offers in one call

POSThttps://pricto.dev/v1/prices/batch

For integrations that refresh a list of SKUs. Up to 500 items.

CreditsMCP
1 per offer price returned; items not found cost 0—

Parameters#

ParameterInTypeDescription
currencyquerystringAdd converted amounts in this ISO 4217 currency. local (default) returns source currency only. Default: local.

Body#

FieldTypeDescription
items requiredItemRef[]
items[].product_idstring
items[].gtinstring
items[].offer_idstring
items[].quantityintegerCompare only.
retailersstring[]
max_creditsnumber
dry_runboolean
min_confidencenumber
match_kindsstring[]

Response#

200 One result per requested item, in the same order.

FieldTypeDescription
data requiredobject[]
data[].input requiredItemRefExactly one of product_id, gtin or offer_id.
data[].input.product_idstring
data[].input.gtinstring
data[].input.offer_idstring
data[].input.quantityintegerCompare only.
data[].found requiredboolean
data[].product_idstring | null
data[].pricesRetailerPrice[]
data[].prices[].currency requiredstring
data[].prices[].price requirednumber
data[].prices[].list_price requirednumber
data[].prices[].sale_pricenumber | null
data[].prices[].card_pricenumber | nullConvenience: the lowest price in conditional_prices that requires a payment method or membership.
data[].prices[].card_labelstring | null
data[].prices[].conditional_pricesConditionalPrice[]Every price that requires a condition other than quantity (payment method, loyalty tier, app, coupon), as published.
data[].prices[].conditional_prices[].kind requiredstringValores / values: payment_method, membership, app_only, coupon, other.
data[].prices[].conditional_prices[].label requiredstringAs shown by the retailer.
data[].prices[].conditional_prices[].price requirednumber
data[].prices[].conditional_prices[].payment_methodstring | null
data[].prices[].conditional_prices[].membership_tierstring | null
data[].prices[].conditional_prices[].installments_countinteger | null
data[].prices[].conditional_prices[].interest_freeboolean | null
data[].prices[].unit_priceobject | null
data[].prices[].unit_price.amount requirednumber
data[].prices[].unit_price.per requiredstringValores / values: kg, l, unit, m, m2.
data[].prices[].promotionsPromotion[]
data[].prices[].promotions[].type requiredstringValores / values: multi_buy, nth_unit, percent_off, amount_off, bundle, gift, other.
data[].prices[].promotions[].label requiredstringAs shown by the retailer, e.g. "2 x $2.990".
data[].prices[].promotions[].min_quantityinteger | null
data[].prices[].promotions[].effective_unit_pricenumber | nullPrice per item when the promotion applies.
data[].prices[].promotions[].requires_cardstring | nullPayment method required, if any.
data[].prices[].promotions[].valid_untilstring (date) | null
data[].prices[].availability requiredstringValores / values: in_stock, out_of_stock, limited, unknown.
data[].prices[].tax_includedbooleanAs shown by the retailer (observed).
data[].prices[].tax_ratenumber | nullDerived. Main VAT rate for this country and category, null when not known.
data[].prices[].price_ex_taxnumber | nullDerived from price and tax_rate. Null when tax_rate is null.
data[].prices[].tax_rule_idstring | nullVersioned rule used to derive tax_rate.
data[].prices[].other_taxes_includedboolean | nullTrue when other taxes remain in price_ex_tax (e.g. Chile IABA on sweetened drinks).
data[].prices[].installmentsobject
data[].prices[].observed_at requiredstring (date-time)
data[].prices[].observed_local_datestring (date)Capture date in the retailer time zone. Daily series use this date.
data[].prices[].capture_method requiredstringHow the price was obtained, part of the provenance with url and observed_at. public_page: read from the retailer's public web page (HTML, JSON-LD or the page payload). public_api: an open, unauthenticated JSON endpoint of the retailer's own site. retailer_feed: delivered by the retailer under an agreement. open_data: a public dataset published by a government or third party. Valores / values: public_page, public_api, retailer_feed, open_data.
data[].prices[].quality_statusstringwarning when a validation flagged the observation (price jump, zero, unusual unit). Quarantined observations are never served. Valores / values: ok, warning.
data[].prices[].quality_flagsstring[]Why the price was flagged. The price is delivered as published, never corrected. discount_over_85: more than 85% off the list price. round_price_low: a round price of CLP 1,000 or less. Both often mean a placeholder price or a store error.
data[].prices[].correctedbooleanTrue when the observation was amended after capture (the original is kept).
data[].prices[].convertedConverted
data[].prices[].converted.currency requiredstring
data[].prices[].converted.price requirednumber
data[].prices[].converted.list_pricenumber | null
data[].prices[].converted.card_pricenumber | null
data[].prices[].converted.unit_pricenumber | null
data[].prices[].converted.fx_rate requirednumberUnits of target currency per unit of source currency.
data[].prices[].converted.fx_date requiredstring (date)Publication date of the rate used (last published on or before the observation date).
data[].prices[].converted.fx_sourcestring
data[].prices[].converted.fx_methodstringValores / values: direct, cross.
data[].prices[].retailer requiredRetailerRef
data[].prices[].retailer.id requiredstring
data[].prices[].retailer.name requiredstring
data[].prices[].offer_id requiredstring
data[].prices[].store_idstring | nullNull when the price is national/online.
data[].prices[].url requiredstring (uri)
data[].prices[].title_original requiredstring
data[].prices[].sellerSellerWho sells the offer. On marketplaces it is a third party; name is null when the seller is a natural person (no personal data).
data[].prices[].seller.id requiredstring
data[].prices[].seller.name requiredstring | null
data[].prices[].seller.is_retailer_itself requiredboolean
data[].prices[].match requiredMatchHow the offer was linked to the canonical product.
data[].prices[].match.method requiredstringsingleton: the offer matched nothing else and is its own product. Valores / values: gtin, rules, model, manual, singleton.
data[].prices[].match.confidence requirednumber
data[].prices[].match.kind requiredstringidentical: the same item. pack: the offer is N units of the product (pack_ratio), comparable by unit price. equivalent: a declared substitute of another brand or lab, not the same item. Valores / values: identical, pack, equivalent.
data[].prices[].match.pack_rationumber | nullUnits of the product in the offer, for kind pack.
meta requiredMeta

meta carries the cost, the source line to quote, the language, the currency and notices (see Conventions).

Errors#