Formquote.
DE

FORMQUOTE / API

Verschiedene Produkte. Eine Angebots-API.

Drei digitale Kategorien bieten öffentlichen Katalog- und Angebotszugriff; PCB behält die Betreiber-Authentifizierung. Ergebnisse zeigen Eignung, Preisbelege und nächste Schritte. Keine Zahlungen, Käufe, E-Mail-Prüfungen oder automatischen Lieferungen.

https://pcba-quote-lab.pages.dev/api/v2

Endpunkte und Zugriff

GET /api/v2/categoriesKategorien, Felder, Vorgaben und Anfrageschemas.
GET /api/v2/catalogDigitaler Katalog; Filter categoryId, pcb ausgeschlossen.
GET /api/v2/capabilitiesTatsächliche Fähigkeiten für Authentifizierung, Angebote, Transaktionen und Lieferung.
POST /api/v2/quotesEinheitliche Ergebnisse. Digital öffentlich; PCB erfordert Betreiber-Bearer-Token.
POST /api/v1/offersUrsprünglicher PCB-Vertrag und Authentifizierung unverändert.

Anfragen und Beispiele

Content-Type: application/json und höchstens 32 KiB UTF-8 senden. Nur Mengen, Spezifikationen und Verwendungen, keine Listen, Fertigungs-, Schrift- oder Audiodateien. schemaVersion bleibt 1. Die Beispiele erzeugen keine Transaktionen.

email_verification

curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
  --header 'Content-Type: application/json' \
  --data '{
  "schemaVersion": 1,
  "categoryId": "email_verification",
  "specifications": {
    "count": 10001
  },
  "comparisonGoal": "lowest_cash_now"
}'

sound_effects

curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
  --header 'Content-Type: application/json' \
  --data '{
  "schemaVersion": 1,
  "categoryId": "sound_effects",
  "specifications": {
    "intent": "ui",
    "seats": 1,
    "aiUse": false
  },
  "usageContext": {
    "commercialUse": true,
    "standaloneResale": false
  },
  "comparisonGoal": "best_requirement_fit"
}'

font_license

curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
  --header 'Content-Type: application/json' \
  --data '{
  "schemaVersion": 1,
  "categoryId": "font_license",
  "specifications": {
    "licenseUse": "web",
    "seats": 1,
    "websites": 1,
    "monthlyPageviews": 10000,
    "trafficMetric": "pv",
    "termYears": 1
  },
  "usageContext": {
    "medium": "website",
    "commercialProjects": 1,
    "requiresAllStyles": false
  },
  "comparisonGoal": "best_requirement_fit"
}'

Kategoriebezogene Eingaben

E-Mails: count 1–10.000.000; selbst angegebene Guthaben in purchaseContext.creditsBySupplier, abgelaufenes Guthaben ausgeschlossen. Sounds: intent any/ui/motion/nature/train/kettle; seats 1–1000; aiUse betrifft das Audiomaterial. Schriften: licenseUse web/desktop/both; Nutzer, Websites, monatlichen Traffic je Website, pv/uv und Jahre getrennt angeben. Keine PV/UV-Umrechnung oder automatische App-, SaaS- oder Logo-Abdeckung. Exakte Grenzen in OpenAPI.

Gemeinsames Modell, unterschiedliche Regeln

Category definiert gültige Eingaben. QuoteRequest enthält specifications, usageContext und purchaseContext. CatalogItem und Supplier identifizieren Angebot und Anbieter. Offer bindet Ergebnisse an Anfragen. Pricing trennt Beträge, PricingEvidence bewahrt Quellen, RequirementMatch nutzt yes/no/unknown, ComparisonGroup definiert Vergleichsgruppen und Fulfillment nur verfügbare nächste Schritte.

Preise, Währungen und Rangfolge

referencePrice ist der Katalogpreis, quotedSubtotal die passende Teilsumme. cashRequiredNow setzt bestätigte Pflichtkosten voraus. allocatedJobCost ist Verbrauchsanteil, nicht Paketzahlung. recurringCharge kennzeichnet Abos; requestedTermCost ist nicht Erstjahrespreis mal Jahre. Dezimalstrings oder null, niemals null Euro für Unbekanntes. groups[].offerIds folgen; keine günstigsten Endpreise über Währungen, Perioden oder PCB-Fristen hinweg behaupten.

Quellen und Aktualität

published_observed dokumentiert öffentliche Seiten; derived_estimate berechnet daraus; supplier_live bezeichnet aktuelle kundensichtbare PCB-Schätzungen, keine End- oder Festpreise. generatedAt ist nicht checkedAt. Prüfintervalle: E-Mail sieben Tage, Sounds und Schriften dreißig Tage, PCB höchstens fünf Minuten. API-Aufrufe erneuern keine Quelldaten. sourceUrl und Ausschlussgründe erhalten.

Ergebnisstatus und Fehler

HTTP 200 kann partial oder blocked enthalten. Diese Werte beschreiben Vollständigkeit, keinen Bestellstatus. offers, eligibility, supplierErrors, missingInputs und error.code/message auswerten. 400: Eingaben ändern; 401/403: PCB-Rechte und Origin prüfen; 405/413/415: Methode, Größe, Typ. Nach 502 keine alten Angebote als neue ausgeben. Anfrage-ID ist keine Bestellnummer.

KI-Integration und Berechtigungen

Öffentliche KI-Tools nur für email_verification, sound_effects und font_license mit DigitalQuoteRequest registrieren. PCB benötigt autorisierte Betreiber-Zugangsdaten; Origin-Prüfung und Authentifizierung bleiben. Niemals Zugangsdaten an Kunden oder öffentliche KI verteilen. merchant_checkout/inquiry öffnet nur Händlerseiten, bestätigt keine Käufe, Nachrichten oder Lizenzen. order/payment/automaticFulfillment sind deaktiviert.

Internationalisierung und Kompatibilität

Seiten unter /zh/, /en/, /ja/, /fr/ und /de/. Nur die Darstellung ändert sich; API-Pfade, Felder und Enums bleiben. Kein undeklariertes locale-Feld im Request ergänzen. Keine Währungsumrechnung. Originalbelege bleiben gekennzeichnet in ihrer Quellsprache. PCB benötigt weiterhin die aufbewahrte Bereitstellung; nicht vor geprüfter Migration löschen.

Vollständige Originalreferenz (Chinesisch) ↗