Webhook - General Topics
Cleeng Webhooks
Webhooks are notifications that Cleeng sends out to subscribed broadcasters about certain events occurring in the platform. The events are sent in the form of a POST request made to specified endpoints with a JSON payload as its body.
The body of the request consists of three constant fields:
broadcasterId
– the ID of the broadcaster that the webhooks is sent for,
topic
– the name of the topic that the webhook is sent about,
data
– topic-specific payload about the event.
Available General Topics
transactionCreated
Trigger:
The event is triggered whenever a new transaction is made on the broadcaster’s content or subscriptions. The subscriptionPlanId
field value is an ID of a subscription plan the transaction has been made for, or null if a transaction has been made on content purchase.
Use case:
- Sending notifications
{
"broadcasterId": 558186818,
"topic": "transactionCreated",
"data": {
"offerId": "S123321123_BY",
"transactionId": "T111333222",
"customerId": 332442553,
"paymentId": 1536331075,
"offerPrice": 5.25,
"offerCurrency": "USD",
"discountRate": null,
"subscriptionPlanId": 543221430,
"externalData": "data",
"customerEmail": "[email protected]",
"customerExternalId": "123456789",
"paymentGateway": "adyen"
}
}
customerRegistered
Trigger:
The event is triggered whenever a new customer is registered using broadcaster’s checkout or registerCustomer
API, or an existing Cleeng customer purchases broadcaster’s content or subscription for the first time.
Use case:
- Sending notifications
- Third-party integration (e.g. identity, marketing)
{
"broadcasterId": 558186818,
"topic": "customerRegistered",
"data": {
"customerId": 593300903,
"customerEmail": "[email protected]",
"customerExternalId": "123456789"
}
}
customerRequestedPasswordReset
Trigger:
The event is triggered whenever a customer wants to reset their password (e.g. password reset can be triggered by Reset password API).
Please note that the passwordResetUrl
is configurable via the resetUrl
parameter of Reset password endpoint. You can see examples with default and custom passwordResetUrl
below.
Use case:
- Sending notifications
Example with default passwordResetUrl
:
{
"customerId": 123456789,
"customerEmail": "[email protected]",
"passwordResetUrl": "https://cleeng.com/generate-password/?email=email%40domain.com&resetPasswordToken=836e2dd52a62cb726d55f4c35dbc6ff661d8c521&publisherId=114098951"
}
Example with custom passwordResetUrl
:
{
"customerId": 123456789,
"customerEmail": "[email protected]",
"passwordResetUrl": “https://example.your-domain.com?email=email%40domain.com&resetPasswordToken=836e2dd52a62cb726d55f4c35dbc6ff661d8c521&publisherId=114098951"
}
customerConsentUpdated
Trigger:
The event is triggered whenever a customer changes a consent settings.
Use case:
- Sending notifications
- Third-party integration (e.g. identity, marketing)
{
"broadcasterId": 558186818,
"topic": "customerConsentUpdated",
"data": {
"customerId": 593300903,
"customerEmail": '[email protected]',
"consentName": "broadcaster_marketing",
"consentState": "accepted",
"consentChangeDate": "2019-05-16T09:45:13+02:00"
}
}
capturePayment
Trigger:
The event is triggered when payment capture is required by the Cleeng platform. This happens during subscription switch situations that involve payment, for example for the following switch algorithms:
- Immediate and charge with full refund
- Immediate and charge without proration
- Immediate and charge with time proration
- Immediate and charge with refund
Use cases:
- Payment handling
{
"broadcasterId": 111111111,
"topic": "capturePayment",
"data": {
"subscriptionId": 321321321,
"orderId": 123456789,
"paymentDetailsId": 811837427,
"paymentMethodId": 123123123
}
}
refundPayment
Trigger:
The event is triggered whenever a refund is requested.
{
"broadcasterId": 558186818,
"topic": "refundPayment",
"data": {
"paymentId": 123123123,
"paymentGateway": "adyen",
"externalPaymentId": "ask3ekv-vmdmskxyz",
"customerId": 123123123,
"customerEmail": "[email protected]",
"orderId": 123123123,
"paymentMethodId": 123123123,
"amount": 10.33,
"reason": "Payment refund requested"
}
}
paymentRefundAccepted
Available only for Bambora Payment Gateway.
Trigger:
The event is triggered from the broadcaster dashboard 'Cancel this transaction' button.
Use cases:
- Sending notifications
- Caching of entitlements
- Win-back campaigns
- Payment handling
{
"broadcasterId": 558186818,
"topic": "paymentRefundAccepted",
"data": {
"paymentId": 123123123,
"paymentGateway": "bambora",
"customerId": 123123123,
"customerEmail": "[email protected]",
"orderId": 123123123,
"externalPaymentId": "ask3ekv-vmdmskxyz",
"paymentMethodId": 123123123
}
}
paymentRefunded
Trigger:
The event is triggered when a payment has been refunded.
Use case:
- Sending notifications
{
"paymentId": 1234567890,
"paymentGateway": "paypal",
"externalPaymentId": "5NP123456B654321Y",
"customerId": 987654321,
"amount": 22,
"offerId": "S123123123_US"
}
paymentDetailsDeactivated
Trigger:
The event is triggered when payment details stop being used for recurring payments, for example when active payment details are deleted or new active payment details are created.
It is useful for cancelling authorized payments if they exist at the time of payment details change.
Use cases:
- Sending notifications
- Payment handling
{
"broadcasterId": 402171721,
"topic": "paymentDetailsDeactivated",
"data": {
"paymentDetailsId": 811837427,
"paymentMethodId": 611593213,
"customerId": 965936709
}
}
paymentRejected
Trigger:
The event is triggered when a payment attempt fails, for example when wrong credit card credentials are provided (e.g. wrong CVC code, credit card expiry date, etc.), or when there are not sufficient funds for a recurring payment to take place.
It is triggered both for initial and recurring payments.
Use cases:
- Caching of entitlements
- Payment handling
- Sending notifications
It is useful for sending emails to customers informing them about payment issues. Please note that the mechanism is applicable when emails are managed externally (outside of Cleeng).
{
"broadcasterId": 123456789,
"topic": "paymentRejected",
"data": {
"offerId": "S123321123_BY",
"paymentPrice": 5.25,
"paymentCurrency": "USD",
"paymentMethod" : "visa",
"paymentGateway" : "adyen",
"customerId": 987654321,
"customerEmail": "[email protected]",
"recurringPayment" : true
"successiveRejectionNumber" : 1,
"failureReason" : "CVC Declined"
}
}
Note:
successiveRejectionNumber
returns the number of failed attempts. The counter is reset in two cases:
- when payment method is replaced
- when payment for given payment detail is successful.
cardExpiresSoon
Trigger:
The event is triggered when a subscriber’s credit card used for recurring billing expires before the next payment date. It is triggered:
- 21 days before card expiration date
- 5 days before card expiration date
Note: cardExpiresSoon
event is triggered only for payment details that are connected with an active subscription.
Use case:
- Sending notifications
{
"broadcasterId": 123123123,
"topic": "cardExpiresSoon",
"data": {
"customerId": 987654321,
"paymentDetailsId": 255888155,
"paymentMethodId": 321321321,
"cardHolderName": "John Doe",
"cardExpirationDate": "2022-08-31",
"customerExternalId": "9a39eecb-0554-4a8e-b189-3056fdafbbb6"
}
}
giftReadyForDelivery
Trigger:
The event is triggered whenever a gift delivery time is reached and a notification should be sent informing about a gift.
{
"broadcasterId": 123123123,
"topic": "giftReadyForDelivery",
"data": {
"code": "ABCD-0000",
"offerId": "S123123123_US",
"gifterEmail": "[email protected]",
"gifterId": 123456789,
"recipientEmail": "[email protected]",
"personalNote": "Happy Birthday"
}
}
Updated 28 days ago