Skip to main content

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.

Hinweis: Dieser Artikel gilt nur für die Veröffentlichung von Apps im GitHub Marketplace. Weitere Informationen zum Veröffentlichen von GitHub Actions im GitHub Marketplace findest du unter Aktionen auf dem GitHub-Marktplatz veröffentlichen.

Informationen zu Webhooks und GitHub Marketplace

Webhook-POST-Anforderungen verfügen über spezielle Header. Weitere Informationen findest du unter Webhook-Ereignisse und -Nutzlasten. Bei fehlerhaften Übermittlungsversuchen führt GitHub keine erneute Übermittlung durch. Stelle daher sicher, dass deine App alle von GitHub gesendeten Webhooknutzlasten empfangen kann. Informationen zum Erstellen und Deaktivieren von GitHub Marketplace-Webhooks sind unter „Erstellen von Webhooks“ und „Deaktivieren von Webhooks“ zu finden.

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.

Informationen zur Kauf-Webhooknutzlast für GitHub Marketplace

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.