changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$defs": {
+ "Merchant": {
+ "properties": {
+ "channel": {
+ "description": "web, mercadolibre, instagram, tiktok or facebook",
+ "title": "Channel",
+ "type": "string"
+ },
+ "delivers": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Delivers"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "trust": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "0-100 seller trust score; null when not scored yet",
+ "title": "Trust"
+ },
+ "zone": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "City or area the merchant reports",
+ "title": "Zone"
+ }
+ },
+ "required": [
+ "name",
+ "channel"
+ ],
+ "title": "Merchant",
+ "type": "object"
+ },
+ "Offer": {
+ "properties": {
+ "example": {
+ "default": false,
+ "description": "True for made-up demo data: never present it as real",
+ "title": "Example",
+ "type": "boolean"
+ },
+ "merchant": {
+ "$ref": "#/$defs/Merchant"
+ },
+ "price": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Price as the merchant published it; null means 'ask by DM'",
+ "title": "Price"
+ },
+ "priceUsd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Price converted to USD",
+ "title": "Priceusd"
+ },
+ "rate": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Exchange rate used, with its source and date, if converted",
+ "title": "Rate"
+ },
+ "seenAt": {
+ "description": "When the price was seen (ISO 8601)",
+ "title": "Seenat",
+ "type": "string"
+ },
+ "source": {
+ "description": "Where the offer came from: firecrawl, ejemplo…",
+ "title": "Source",
+ "type": "string"
+ },
+ "title": {
+ "title": "Title",
+ "type": "string"
+ },
+ "url": {
+ "title": "Url",
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "url",
+ "seenAt",
+ "source",
+ "merchant"
+ ],
+ "title": "Offer",
+ "type": "object"
+ }
+ },
+ "properties": {
+ "failedSources": {
+ "default": [],
+ "description": "Sources that failed or ran out of time. firecrawl:<domain> is an open-web shop whose pages were blocked, failed or timed out and gave no offers (listed once; dead links are not listed)",
+ "items": {
+ "type": "string"
+ },
+ "title": "Failedsources",
+ "type": "array"
+ },
+ "notice": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Caveats to show the user",
+ "title": "Notice"
+ },
+ "offers": {
+ "description": "Cheapest first; offers without a price go last",
+ "items": {
+ "$ref": "#/$defs/Offer"
+ },
+ "title": "Offers",
+ "type": "array"
+ },
+ "query": {
+ "title": "Query",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query",
+ "offers"
+ ],
+ "title": "PriceSearch",
+ "type": "object"
+}