Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Webhook-Ereignisse für die GitHub Marketplace-API

Eine GitHub Marketplace-App empfängt Informationen zu Änderungen am Plan eines Benutzers aus dem Marketplace-Kaufereignis-Webhook. Ein Marketplace-Kaufereignis wird ausgelöst, wenn ein Benutzer seinen Zahlungsplan kauft, abbricht oder ändert.

GitHub Marketplace-Kauf-Webhook-Payload

Webhook-POST-Anforderungen verfügen über spezielle Header. Weitere Einzelheiten findest du unter Webhook-Übermittlungsheader. Bei fehlerhaften Übermittlungsversuchen führt GitHub keine erneute Übermittlung durch. Stelle daher sicher, dass deine App alle von GitHub gesendeten Webhook-Payloads empfangen kann.

Abgebrochene Vorgänge und Downgrades werden am ersten Tag des nächsten Abrechnungszyklus wirksam. Ereignisse für Downgrades und abgebrochene Vorgänge werden gesendet, wenn der neue Plan zu Beginn des nächsten Abrechnungszyklus wirksam wird. Ereignisse für neue Käufe und Upgrades beginnen umgehend. Verwende effective_date in der Webhook-Payload, um den Zeitpunkt zu bestimmen, an dem eine Änderung wirksam wird.

Hinweis: Wenn du spamartige GitHub Marketplace-Käufe oder ein anderes schädliches Verhalten bemerkst, fülle das Formular zum Melden von Missbrauch mit weiteren Informationen zum Benutzer aus.

Jede marketplace_purchase-Webhook-Payload umfasst die folgenden Informationen:

SchlüsseltypeBESCHREIBUNG
actionstringDie Aktion, die zum Generieren des Webhooks ausgeführt wurde. Mögliche Aktionen sind purchased, cancelled, pending_change, pending_change_cancelled oder changed. Weitere Informationen findest du in den Beispielen für Webhook-Payloads unten. Hinweis: Die Payloads pending_change und pending_change_cancelled enthalten dieselben Schlüssel wie das changed-Payload-Beispiel.
effective_datestringDas Datum, an dem die Aktion (action) wirksam wird.
senderobjectDie Person, die die Aktion (action) ausgeführt hat, durch die der Webhook ausgelöst wurde.
marketplace_purchaseobjectDie GitHub Marketplace-Kaufinformationen.

Das Objekt marketplace_purchase verfügt über die folgenden Schlüssel:

SchlüsseltypeBESCHREIBUNG
accountobjectDas mit dem organization- oder user-Konto verknüpfte Abonnement. Organisationskonten umfassen einen organization_billing_email-Wert, bei dem es sich um die administrative E-Mail-Adresse der Organisation handelt. Für die Suche nach E-Mail-Adressen für persönliche Konten kannst du den Endpunkt Abrufen des authentifizierten Benutzers verwenden.
billing_cyclestringKann yearly oder monthly sein. Wenn dieder account-Besitzerin über einen kostenlosen GitHub-Plan verfügt und einen kostenlosen GitHub Marketplace-Plan erworben hat, weist billing_cycle den Wert nil auf.
unit_countintegerAnzahl von erworbenen Einheiten.
on_free_trialbooleantrue, wenn das Konto (account) mit der kostenlosen Testversion verwendet wird.
free_trial_ends_onstringDas Datum, an dem die kostenlose Testversion abläuft.
next_billing_datestringDas Datum, an dem der nächste Abrechnungszyklus beginnt. Wenn dieder account-Besitzerin über einen kostenlosen GitHub.com-Plan verfügt und einen kostenlosen GitHub Marketplace-Plan erworben hat, weist next_billing_date den Wert nil auf.
planobjectDer Plan, der von der Benutzerin oder vom Benutzer (user) oder von der Organisation (organization) erworben wurde.

Das Objekt plan verfügt über die folgenden Schlüssel:

SchlüsseltypeBESCHREIBUNG
idintegerDer eindeutige Bezeichner für diesen Plan.
namestringDer Name des Plans.
descriptionstringDie Beschreibung dieses Plans.
monthly_price_in_centsintegerDer monatliche Preis dieses Plans in Cent (US-Währung). Beispiel: Der Preis für einen Eintrag, der 10 US-Dollar pro Monat kostet, beträgt 1.000 Cent.
yearly_price_in_centsintegerDer jährliche Preis dieses Plans in Cent (US-Währung). Beispiel: Der Preis für einen Eintrag, der 100 US-Dollar pro Monat kostet, beträgt 120.000 Cent.
price_modelstringDas Preismodell für diesen Eintrag. Kann FLAT_RATE, PER_UNIT oder FREE sein.
has_free_trialbooleantrue, wenn für diesen Eintrag eine kostenlose Testversion verfügbar ist.
unit_namestringDer Name der Einheit. Wenn das Preismodell nicht per-unit ist, lautet der Wert nil.
bulletarray of stringsDie Namen der Aufzählungspunkte im Tarif.

Beispiel-Webhook-Payload für ein purchased-Ereignis

Dieses Beispiel zeigt die Payload für das purchased-Ereignis.

Beispiel-Webhook-Payload für ein changed-Ereignis

Änderungen an einem Plan umfassen Upgrades und Downgrades. Dieses Beispiel zeigt die Payloads für die Ereignisse changed, pending_change und pending_change_cancelled. Die Aktion gibt an, welches dieser drei Ereignisse aufgetreten ist.

Beispiel-Webhook-Payload für ein cancelled-Ereignis