Einführung
Mit metadata kannst du eigene Schlüssel-Wert-Daten in Dodo Payments-Objekten speichern, zum Beispiel eine Bestell-ID aus deinem System oder eine CRM-Referenz. Du kannst metadata an die meisten Objekte anhängen, darunter Zahlungen, Abonnements, Kunden und Produkte. Die vollständige Liste findest du unter Unterstützte Objekte.Übersicht
Für metadata gelten folgende Regeln:- Metadaten-Schlüssel dürfen bis zu 40 Zeichen lang sein (bis zu 100 Zeichen für Nutzungsereignisse, die über
POST /events/ingestaufgenommen werden). - Metadatenwerte können ein String, eine Ganzzahl, eine Zahl oder ein Boolean sein. String-Werte dürfen bis zu 500 Zeichen lang sein.
- Objekte, Arrays und
nullwerden als Metadatenwerte nicht akzeptiert. - Sie können bis zu 50 Metadaten-Schlüssel-Wert-Paare pro Objekt hinzufügen. Eine Anfrage mit mehr Paaren gibt den
MAXIMUM_KEYS_REACHEDFehlercode zurück. - Die API kann nicht nach Metadaten suchen oder filtern, gibt Metadaten jedoch in API-Antworten und Webhooks zurück.
Anwendungsfälle
Verwende metadata, um:- Externe IDs oder Referenzen zu speichern.
- Interne Notizen hinzuzufügen.
- Dodo Payments-Objekte mit Datensätzen in deinem System zu verknüpfen.
- Transaktionen zu kategorisieren.
- Benutzerdefinierte Attribute für Berichte hinzuzufügen.
Metadata hinzufügen
Füge metadata hinzu, wenn du ein Objekt über die API erstellst oder aktualisierst. Für Produkte kannst du metadata auch im Dashboard hinzufügen.Über die API
Übergib einmetadata-Objekt im Request-Body. Die folgenden Beispiele verwenden das TypeScript SDK und setzen ein initialisiertes client voraus:
Über die Dashboard-Benutzeroberfläche (nur Produkte)
Um metadata ohne Code zu einem Produkt hinzuzufügen, öffne das Produkt unter Products und füge im Metadata-Bereich Schlüssel-Wert-Paare hinzu. Das kannst du beim Erstellen oder Bearbeiten des Produkts tun.
Metadata abrufen
API-Antworten enthalten metadata, wenn du ein Objekt abrufst:Das Abrufen einer Checkout Session (
GET /checkouts/{id}) gibt metadata nicht zurück. Die Statusantwort der Session enthält nur id, created_at, payment_id, payment_status, customer_email und customer_name. Um die metadata zu lesen, die du beim Erstellen der Session angehängt hast, rufe die daraus resultierende Zahlung mit der zurückgegebenen payment_id ab.Suchen und Filtern
Die API kann nicht nach metadata suchen. Um ein Objekt anhand eines Metadata-Werts zu finden:- Speichere wichtige Kennungen in metadata.
- Liste Objekte über die API auf oder rufe sie ab.
- Filtere die Ergebnisse in deinem Anwendungscode.
Best Practices
Befolge diese Richtlinien, damit metadata nützlich bleibt.Do:
- Verwende einheitliche Benennungskonventionen für Metadata-Schlüssel.
- Dokumentiere dein Metadata-Schema intern.
- Halte Werte kurz und aussagekräftig.
- Verwende metadata nur für statische Daten.
- Ziehe Präfixe in Betracht, die das Quellsystem angeben, zum Beispiel
crm_idoderinventory_sku.
Don’t:
- Speichere keine sensiblen Daten in metadata.
- Verwende metadata nicht für Werte, die sich häufig ändern.
- Verlasse dich bei kritischer Geschäftslogik nicht auf metadata.
- Dupliziere keine Informationen, die das Objekt bereits enthält.
- Verwende keine Sonderzeichen in Metadata-Schlüsseln.