Zum Inhalt springen
ProofPass

ProofPass für Entwickler

Drei Wege, alle nur lesend: die API v1 mit Schlüssel ab Paket Start für Shop und ERP, der öffentliche MCP-Server unter https://www.proofpass.eu/mcp für KI-Assistenten wie Claude oder ChatGPT, und ein iframe oder Script für jede Website. Jeder liefert nur die aktuellen Fassungen, die auch auf der öffentlichen Herstellerseite stehen.

Stand:

Überblick

WegFürZugang
API v1Shop, ERP, PluginsBearer-Schlüssel, ab Paket Start
MCP-ServerKI-AssistentenÖffentlich, ohne Konto
iframe / ScriptJede WebsiteJedes Paket
QR / GS1 Digital LinkEtikett, VerpackungJedes Produkt

Nichts davon schreibt. Hochladen und Abnehmer bleiben im Dashboard, damit Archiv und Zustellnachweis nie umgangen werden.

API v1

Basis-URL https://www.proofpass.eu/api/v1. Den Schlüssel legst du im Dashboard unter „Einbinden → API-Schlüssel“ an. Er erscheint genau einmal; wir speichern nur einen SHA-256-Hash. Format: pbt_live_ und 32 Zeichen. Höchstens zehn aktive Schlüssel je Hersteller, ab Paket Start.

Header
Authorization: Bearer pbt_live_…

Endpunkte

AnfrageAntwort
GET /manufacturerName, Kurzname, Seiten-URL, Logo, Kontakt
GET /products?q=&category=&page=1&limit=50{ items, page, limit, total }; q sucht in Name, Artikelnummer, GTIN und Stichwörtern (alle Wörter), category ist die ID oder der Name, limit bis 200
GET /products/{key}Ein Produkt; key = ID, art:<nummer> oder gtin:<ziffern>
Beispiel
curl -H "Authorization: Bearer pbt_live_…" "https://www.proofpass.eu/api/v1/products?q=silikon&limit=20"
Produkt
{
  "id": 11,
  "name": "Silikon Neutral transparent",
  "slug": "silikon-neutral-transparent",
  "articleNumber": "SN-310",
  "gtin": "9006543210017",
  "ufi": "N1Q0-30DW-K00N-4VKE",
  "category": "Silikone",
  "description": null,
  "url": "https://www.proofpass.eu/hersteller/<firma>/silikon-neutral-transparent",
  "qr": {
    "shortUrl": "https://www.proofpass.eu/q/<code>",
    "png": "https://www.proofpass.eu/api/qr/<code>.png",
    "svg": "https://www.proofpass.eu/api/qr/<code>.svg"
  },
  "documents": [
    { "type": "sdb", "typeLabel": "Sicherheitsdatenblatt", "language": "de", "version": "4.1",
      "revisionDate": "2026-01-12", "url": "https://www.proofpass.eu/pdf/<datei>.pdf", "size": 182334 }
  ],
  "safety": null,
  "updatedAt": "2026-10-31T18:00:00.000Z"
}
  • documents enthält nur aktuelle Fassungen; version und revisionDate können null sein.
  • safety ist null, wenn keine Angaben zur Produktsicherheit gepflegt sind; recall enthält eine aktive Rückrufanzeige.
  • Ausgeblendete Produkte stehen nicht in der Liste und antworten mit 404.
  • Seiten-URLs und QR-Links ändern sich nie; PDF-URLs wechseln mit jeder neuen Fassung, darum immer über die API oder die Produktseite verlinken.

Fehler

StatusAntwortBedeutung
401{"error":"unauthorized"}Schlüssel fehlt, ist falsch oder widerrufen
403{"error":"plan"}Paket ohne API (Schlüssel bleiben und gelten nach einem Upgrade wieder)
403{"error":"paused"}Hersteller pausiert
404{"error":"not_found"}Produkt unbekannt
429{"error":"rate_limited"}Zu viele Anfragen, siehe Retry-After
500{"error":"server_error"}Fehler bei uns, noch einmal versuchen

Grenzen und Caching

  • 120 Anfragen pro Minute je Schlüssel, gleitendes Fenster im Arbeitsspeicher je Serverinstanz: eine Bremse gegen Endlosschleifen, kein hartes Kontingent. Falsche Schlüssel werden zusätzlich je Adresse begrenzt (30 pro Minute).
  • ETag, Cache-Control: private, max-age=300 und Vary: Authorization. If-None-Match wird mit 304 beantwortet. Zwischenspeichern: 5 bis 15 Minuten.
  • CORS erlaubt GET von jeder Herkunft, gedacht für Server-zu-Server-Aufrufe und Tests. Den Schlüssel nie in Browser-Code legen.
  • Neue Felder kommen ohne Versionswechsel dazu; unbekannte Felder ignorieren. Was sich ändert oder wegfällt, kommt in /api/v2, v1 läuft mindestens zwölf Monate weiter.

MCP-Server für KI-Assistenten

Adresse https://www.proofpass.eu/mcp. Model Context Protocol über Streamable HTTP, zustandslos, JSON-Antworten, nur lesend, ohne Konto und ohne Anmeldung. Er liefert Produkte geprüfter Hersteller und die aktuelle Fassung ihrer Dokumente, dieselben Daten wie die öffentlichen Herstellerseiten. Höchstens 60 Aufrufe pro Minute je Adresse.

Server-URL
https://www.proofpass.eu/mcp

Claude

  1. Customize > Connectors öffnen (Team und Enterprise: ein Owner unter Organization settings > Connectors).
  2. + Add, dann Add custom connector.
  3. Name ProofPass, URL https://www.proofpass.eu/mcp, dann Continue.
  4. Unter Authentication No sign in wählen, dann Add.
  5. Im Chat: + unten links, Connectors, ProofPass einschalten.

Claude-Hilfe: Custom Connectors (englisch)

ChatGPT

Mit eingeschaltetem Entwicklermodus (Settings → Apps → Advanced → Developer mode; in Business und Enterprise entscheiden die Administratoren) eine App mit der Adresse oben als URL und Authentifizierung „keine“ anlegen. Pakete und Menünamen bestimmt OpenAI: aktuelle Anleitung prüfen.

OpenAI: Developer mode (englisch)

Microsoft Copilot Studio

Den Server einem Agenten als Model-Context-Protocol-Werkzeug hinzufügen: Server-URL wie oben, Transport Streamable HTTP, keine Authentifizierung. Die aktuellen Schritte stehen in der Anleitung von Microsoft.

Microsoft Learn: vorhandenen MCP-Server hinzufügen (englisch)

Cursor und VS Code

Clients mit Konfigurationsdatei nehmen den Eintrag unten (Cursor: mcp.json unter mcpServers). VS Code erwartet denselben Eintrag unter servers in .vscode/mcp.json.

Cursor
{
  "mcpServers": {
    "proofpass": {
      "type": "http",
      "url": "https://www.proofpass.eu/mcp"
    }
  }
}
VS Code
{
  "servers": {
    "proofpass": {
      "type": "http",
      "url": "https://www.proofpass.eu/mcp"
    }
  }
}

Cursor: MCP (englisch)VS Code: MCP-Server (englisch)

Werkzeuge

WerkzeugWas es tut
search_productsÖffentliche Produkte geprüfter Hersteller nach Name, Artikelnummer, GTIN oder UFI.
get_current_documentAktuelle Fassung eines Dokuments (SDB, TDB, Leistungserklärung …) mit PDF-URL, Version, Stand und SHA-256.
verify_documentIst diese PDF (SHA-256 oder ProofPass-URL) veröffentlicht und noch die aktuelle Fassung?
list_manufacturer_documentsProdukte eines Herstellers mit ihren aktuellen Dokumenten, 25 je Seite.

Jedes Werkzeug nimmt language ("de" oder "en") für die Sprache der Antwort. get_current_document nimmt product (ID, QR-Code, GTIN, "hersteller/produkt" oder die URL der Produktseite), type (sdb, tdb, dop, doc, ppwr, manual, epd, cert, other; auch SDS, TDS, DoP, DoC) und optional document_language. verify_document nimmt eine SHA-256-Prüfsumme oder eine PDF-URL von ProofPass. Jede Antwort endet mit einer Quellenzeile und diesem Hinweis: Ein Dokument hier bereitzustellen ist keine Übermittlung nach Art. 31 REACH; der Lieferant bleibt verpflichtet, es seinen Abnehmern zu übermitteln.

Aufruf
{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "get_current_document",
              "arguments": { "product": "9006543210017", "type": "SDS", "language": "en" } }
}
structuredContent der Antwort
{
  "product": { "id": 11, "name": "Silikon Neutral transparent", "manufacturer": "…", "url": "https://www.proofpass.eu/hersteller/<firma>/<produkt>" },
  "document": {
    "title": "Safety data sheet Silikon Neutral transparent",
    "type": "sdb", "language": "de", "version": "4.1",
    "revisionDate": "2026-01-12", "publishedAt": "2026-01-13T08:00:00.000Z",
    "productUrl": "https://www.proofpass.eu/hersteller/<firma>/<produkt>",
    "pdfUrl": "https://www.proofpass.eu/pdf/<datei>.pdf",
    "sha256": "…", "superseded": false
  },
  "otherLanguages": [{ "language": "en", "pdfUrl": "https://www.proofpass.eu/pdf/<datei>.pdf" }],
  "source": "Source: ProofPass (…), data as published by the manufacturer, retrieved 2026-11-05.",
  "notice": "Note: providing a document here is not a delivery under Art. 31 REACH. …"
}

Gezählt wird je Tag: Werkzeug, Assistent (aus dem User-Agent), zurückgegebener Hersteller und Produkt, Erfolg. Nie Fragen, Suchbegriffe oder Antworten. Hersteller sehen die Zahlen als „KI-Abrufe“ in ihrer Statistik. Server-Card: https://www.proofpass.eu/.well-known/mcp/server-card.json.

Einbetten in eine Website

Zwei Schnipsel mit dem Kurznamen des Herstellers; das Dashboard („Einbinden“) zeigt sie fertig zum Kopieren. Beide zeigen die Datenblatt-Suche mit den Produkten, eine neue Fassung steht nach wenigen Minuten drin.

iframe
<iframe src="https://www.proofpass.eu/einbetten/<kurzname>/de" title="Datenblätter" style="width:100%;min-height:720px;border:0" loading="lazy"></iframe>
Script
<script src="https://www.proofpass.eu/einbetten/<kurzname>/widget.js" data-lang="en" data-height="900" async></script>
  • iframe: Die Sprache steht am Ende der Adresse (/de, /pl …); mindestens 720 Pixel Höhe mitgeben.
  • Script: data-lang legt die Sprache fest, sonst gilt lang der Seite, dann der Browser, dann die Sprache des Herstellers; data-height legt die Höhe fest (Standard 720).
  • In den Paketen Basis und Start setzt das Script den Link „Bereitgestellt über ProofPass“ in deine Seite; Pro und Business ohne.
  • Keine Cookies, keine Fremdanbieter im Rahmen.

Anleitung für WordPress, Shopify, Wix und weitere

QR-Codes und GS1 Digital Link

AdresseTut
https://www.proofpass.eu/q/<code>Kurzlink des QR-Codes: sieben Zeichen, ändert sich nie, führt (302) zur Produktseite und zählt den Scan
https://www.proofpass.eu/01/<gtin>GS1 Digital Link: GTIN mit 8 bis 14 Ziffern; /10/<charge> und /21/<seriennummer> werden angenommen und übergangen, Dokumente gelten je Produkt
https://www.proofpass.eu/api/qr/<code>.svgQR-Code als SVG für den Druck (auch .png)

Ab Paket Business kann der gedruckte QR-Code die GTIN als GS1 Digital Link tragen; die Adresse selbst funktioniert für jedes Produkt mit GTIN.

Plugin für WordPress und WooCommerce

Mit dem kostenlosen Plugin zeigst du deine Datenblätter auf jeder WordPress-Website: als Shortcode, als Block und in WooCommerce als eigenen Tab auf der Produktseite. Es nutzt die offizielle Einbettung von ProofPass und funktioniert in jedem Paket, auch in Basis. Mit einem API-Schlüssel (ab Paket Start) listet der Produkt-Tab die aktuellen Dokumente direkt im Design deines Shops auf.

proofpass-wordpress.zip herunterladen (Version 1.0.0)

Voraussetzungen: WordPress 6.2 oder neuer, PHP 7.4 oder neuer. WooCommerce ist optional. Lizenz GPL-2.0-or-later.

Installation

  1. Lade proofpass-wordpress.zip herunter.
  2. In WordPress unter Plugins → Installieren → Plugin hochladen die ZIP-Datei wählen, installieren, aktivieren.
  3. Unter Einstellungen → ProofPass deinen Hersteller eintragen: deine Adresse https://www.proofpass.eu/hersteller/deine-firma oder nur deine-firma.
  4. Optional den API-Schlüssel einfügen (Dashboard → Einbinden → API-Schlüssel) und „Verbindung testen“ klicken.

Einstellungen

EinstellungBedeutung
HerstellerKurzname aus deiner ProofPass-Adresse. Pflicht für Shortcode und Block.
API-Schlüssel (optional)Beginnt mit pbt_live_. Liegt nur auf deinem Server, erscheint nie im HTML. Alternativ define( 'PROOFPASS_API_KEY', '…' ); in der wp-config.php.
DarstellungRahmen (iframe) oder Script (widget.js). Das Script wählt die Sprache der Seite selbst.
StandardspracheSprache der Website oder eine der 15 Sprachen. Gibt es die Sprache bei ProofPass nicht, erscheint die Sprache deiner Herstellerseite.
Höhe in PixelnHöhe des ganzen Portals (Standard 720). Ein einzelnes Produkt nutzt 320.
Produkt-TabTab in WooCommerce an oder aus; Tab ausblenden, wenn ProofPass für das Produkt nichts hat.
Meta-Schlüssel der GTINNur nötig, wenn deine GTIN in einem eigenen Feld steht.
Zwischenspeicher1 bis 48 Stunden, Standard 6.
ProofPass-AdresseLeer lassen. Nur für ein Testsystem.

„Verbindung testen“ fragt ProofPass einmal nach dem Hersteller hinter dem Schlüssel und trägt den Kurznamen ein, wenn das Feld leer ist. Ohne Schlüssel prüft der Test, ob deine Einbettung erreichbar ist.

Shortcode

Shortcode
[proofpass]
[proofpass product="art:SN-310"]
[proofpass product="9006543210017" lang="en"]
[proofpass product="silikon-neutral-transparent" height="400" mode="script"]
AttributWerte
productleer = alle Produkte mit Suche; sonst Produkt-Slug, QR-Kurzcode, art: plus Artikelnummer oder GTIN (8, 12, 13 oder 14 Ziffern, auch gtin:…)
langde, en, fr, it, nl, pl, cs, sk, hu, sl, hr, ro, es, da, sv
heightHöhe in Pixeln
modeiframe oder script; ohne Angabe gilt die Einstellung

Findet ProofPass das Produkt nicht, zeigt der Rahmen die ganze Suche. Der Link „Bereitgestellt über ProofPass“ gehört in den Paketen Basis und Start zur Einbettung; das Plugin ändert daran nichts. Ab Pro entfällt er.

Block

Im Block-Editor fügst du den Block „ProofPass Datenblätter“ ein. In der Seitenleiste stellst du Produkt, Sprache, Höhe und Darstellung ein, wie beim Shortcode. Im Editor siehst du eine Zusammenfassung, die Dokumente erscheinen auf der veröffentlichten Seite.

WooCommerce

Jede Produktseite bekommt den Tab „Sicherheitsdatenblätter & Herstellerangaben“. Das Plugin sucht das passende Produkt in dieser Reihenfolge, der erste Treffer gilt:

  1. das Feld „ProofPass-Produkt“ im Produkt (Reiter Lagerbestand, neben der Artikelnummer), wenn du es ausfüllst,
  2. die GTIN: das WooCommerce-Feld „GTIN, UPC, EAN oder ISBN“ (ab WooCommerce 9.2), die Felder verbreiteter GTIN-Plugins oder dein eigener Meta-Schlüssel,
  3. die Artikelnummer (SKU) als art:<SKU>.

Mit API-Schlüssel zeigt der Tab eine Tabelle der aktuellen Dokumente (Art, Sprache, Stand, Version, PDF), Hersteller und verantwortliche Person, die Sicherheitsinformationen in der Sprache der Website und einen aktiven Rückruf deutlich oben. Ohne Schlüssel zeigt der Tab das Produkt in der Einbettung. Hat ProofPass für ein Produkt nichts, blendet das Plugin den Tab aus (abschaltbar).

Zwischenspeicher

Das Plugin fragt die Schnittstelle nur vom Server aus und speichert die Antwort (Standard 6 Stunden). Ein Produktaufruf löst also höchstens einmal je Produkt und Zeitraum eine Anfrage aus. Speichern des Produkts leert seinen Eintrag, „Zwischenspeicher leeren“ in den Einstellungen alle. Ist ProofPass nicht erreichbar, bleibt die letzte Antwort sichtbar und das Plugin pausiert die Anfragen einige Minuten. Die Einbettung (Shortcode, Block) ist immer aktuell.

Häufige Fragen

Brauche ich ein bezahltes Paket? Nein. Shortcode, Block und der Tab mit Einbettung laufen in jedem Paket. Die Dokumentliste im Shop-Design braucht die Schnittstelle, ab Paket Start.

Setzt das Plugin Cookies? Nein, und die Einbettung auch nicht. Nenne ProofPass in deiner Datenschutzerklärung als eingebetteten Inhalt: Der Browser deiner Besucher lädt Rahmen, Script und PDFs von www.proofpass.eu.

Sieht jemand meinen API-Schlüssel? Nein. Er bleibt auf deinem Server, steht nicht im HTML und geht nicht an den Browser.

Ein neues Datenblatt erscheint nicht im Tab. Die Liste ist bis zu 6 Stunden zwischengespeichert. Speichere das Produkt oder leere den Zwischenspeicher.

Funktioniert es mit Varianten? Das Plugin nutzt GTIN und Artikelnummer des Hauptprodukts. Für eine abweichende Zuordnung trägst du das ProofPass-Produkt im Feld „ProofPass-Produkt“ ein.

Fehlerbehebung

Meldung oder VerhaltenUrsache und Abhilfe
Hinweis „Trag deinen Hersteller … ein“ (nur für Redakteure sichtbar)Kurzname fehlt unter Einstellungen → ProofPass.
„ProofPass kennt den Hersteller … nicht“Kurzname falsch geschrieben. Kopiere die Adresse deiner Herstellerseite.
„ProofPass akzeptiert den API-Schlüssel nicht“Schlüssel widerrufen oder unvollständig kopiert. Neuen Schlüssel im Dashboard erzeugen.
„Die API gehört nicht zu deinem ProofPass-Paket“Paket Basis. Die Einbettung läuft weiter; für die Liste auf Start wechseln.
Tab fehltKein Treffer für GTIN und Artikelnummer. Feld „ProofPass-Produkt“ ausfüllen oder „Tab ausblenden“ abschalten.
Rahmen leer oder abgeschnittenHöhe erhöhen (height) oder Darstellung „Script“ wählen. Sicherheits-Plugins, die iframes blockieren, für www.proofpass.eu freigeben.
Script erscheint nichtOptimierungs-Plugins, die Scripts verschieben oder bündeln, nehmen widget.js mit. Für proofpass.eu ausnehmen oder „Rahmen (iframe)“ wählen.