POST /offer_fulfillments
This API notifies that a user has accepted an offer, logs an accepted event immediately for reporting, and triggers a backend processing depending on the offer’s processing_type.
You can call this API when a user accepts an offer (e.g., the user clicked Accept Offer or a similar confirmation).
This API will record an accepted event as soon as the API is called and initiate the appropriate fulfillment mechanism according to processing_type:
billing_update: Initiates subscription or billing record updates (e.g., applying a discount or changing a plan) asynchronously.checkout: Returns ahosted_pageobject in the response, which contains a URL to render the hosted checkout flow.url_redirect: Returns a redirect_url. You are responsible for managing fulfillment on your end and must call the Update Offer Fulfillment API to report either completion or failure.webhook: Sends a webhook, and you must also manage fulfillment on your end. Be sure to call the Update Offer Fulfillment API to report completion or failure.email: Sends an email containing the offer details as configured. You are responsible for handling fulfillment on your side and must call the Update Offer Fulfillment API to report completion or failure.
You can poll the Retrieve Offer Fulfillment endpoint for final status on billing_update and checkout flows.
Upon actual fulfillment completion, the system logs a fulfilled event and sends notifications (webhook, Slack, email, Segment) as configured.
Servers
- {protocol}://{site}.{environment}:{port}/api/v2
- {protocol}://{site}-test.{environment}:{port}/api/v2
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
chargebee-request-origin-device |
String | No |
The device from which the customer has made the request |
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/x-www-form-urlencoded" |
chargebee-event-webhook |
String | No |
skip only webhooks Valid values:
|
chargebee-business-entity-id |
String | No |
If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation. |
chargebee-event-actions |
String | No |
skip all actions to be done on the events Valid values:
|
chargebee-request-origin-user |
String | No |
The email address of your customer/user. Use this when the email address has only ASCII characters. |
chargebee-request-origin-ip |
String | No |
The IP address of the customer where the request originated |
chargebee-request-origin-user-encoded |
String | No |
The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored. |
chargebee-event-email |
String | No |
skip only emails Valid values:
|
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
option_id |
String | Yes |
ID of the Offer Option that the user accepted. |
personalized_offer_id |
String | Yes |
ID of the personalized offer that was accepted. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.