Use your data in single event simulation payloads
Pass Paddle IDs as part of the payload for single simulations to use data for those entities as part of your simulation. Plus, you can supply partial payloads.
What's new?
We've updated webhook simulator so that now you can use your own data when customizing the payload for a single event simulation.
As part of this change, you can also supply a partial payload to override just the properties you specified.
How it works
You can use webhook simulator to send test webhooks for single events or predefined scenarios as part of testing and integration.
When working with a single event scenario, you can include a payload
to send specific data as part of your request. Paddle saves your simulated data, so you can use it in the future.
With this update, if you pass Paddle IDs that match Paddle IDs for entities on your system as part of the payload
, then Paddle uses that data as part of your simulation. For example, you can pass the Paddle ID for a transaction to run a simulation that includes the items, customer information, and other data on that transaction.
As part of this change, you can now supply partial payloads. When fields are omitted, and the included fields aren't Paddle IDs for existing entities, Paddle prefills data using sample data.
Examples
Customize simulation payload
Update a simulation to include a custom payload for a single event simulation. Pass the Paddle ID for an entity in your system as a top-level ID.
You can also include a custom payload when creating a simulation.
This example updates a
transaction.past_due
single event simulation to use data from an existing transaction.1234561{ 2 "type": "transaction.past_due", 3 "payload": { 4 "id": "txn_01jfhs9jys8caarfd334s3kbrx" 5 } 6}Run the simulation
Create a run for a simulation to send the event or events that are part of it.
1234567891011121{ 2 "data": { 3 "id": "ntfsimrun_01jfhwqrzk5w9577sgptjgze1r", 4 "status": "pending", 5 "type": "transaction.past_due", 6 "created_at": "2024-12-20T11:20:10.484036Z", 7 "updated_at": "2024-12-20T11:20:10.484036Z" 8 }, 9 "meta": { 10 "request_id": "46ad6dc7-03ec-49d5-af43-ad8b716ccc61" 11 } 12}List events for a simulation run
Paddle creates a simulation event for the event or events that are part of a simulation run. List events for a simulation run to see the custom payload passed.
This example includes data from
txn_01jfhs9jys8caarfd334s3kbrx
, an existing transaction, rather than sample data.12345678910111213141516171819201{ 2 "data": [ 3 { 4 "id": "ntfsimevt_01jfhwqs6xydvf6yjwtjv3a31d", 5 "status": "success", 6 "event_type": "transaction.past_due", 7 "payload": { 8 "id": "txn_01jfhs9jys8caarfd334s3kbrx", 9 "items": [ 10 { 11 "price": { 12 "id": "pri_01gsz91wy9k1yn7kx82aafwvea", 13 "name": "Annual (per seat)", 14 "type": "standard", 15 "status": "active", 16 "quantity": { 17 "maximum": 100, 18 "minimum": 1 19 }, 20 "tax_mode": "account_setting",
Summary of changes
This is a summary of the changes to fields in the Paddle API:
simulation.payload | Behavior change | Now accepts partial payloads. |
Next steps
This change is available in version 1
of the Paddle API.
It's a non-breaking change, meaning it doesn't impact existing integrations.
Customize a payload when creating or updating a simulation to use your own data.