PAYMENT_RECEIVED to SHIPPED). Each event is uniquely identified by an eventId.X-Bun-Webhook-Signature header that proves the request originated from Bunjang and was not tampered with.eventId.eventId for duplicates, and quickly returns a 2xx response.2xx (e.g. 5xx, timeout, network error), Bunjang automatically retries based on the retry policy.| Item | Description | Example |
|---|---|---|
| Endpoint URL | The HTTPS URL that will receive webhook requests | https://api.partner.com/webhooks/bunjang |
| Subscribed events | The list of event types you want to receive | order.status.changed |
Coming in Q3 2026: The Partner Center will allow you to register endpoints, issue signing secrets, and manage subscriptions directly through a self-service dashboard, removing the need for email-based onboarding.
Important: The signing secret is shown only once at issuance. If lost, you must request a new secret, which invalidates the previous one.
POST requests with Content-Type: application/json.X-Bun-Webhook-Signature header using your signing secret. See Signature Verification for details.eventId. See Retry & Idempotency for details.2xx HTTP status code as quickly as possible — heavy processing should happen asynchronously, after the response is sent.| Event type | Description | Payload version |
|---|---|---|
order.status.changed | Triggered when the status of an order item changes. | v1 |
payloadVersion field; consult the corresponding event reference page for the data schema of each version.eventId exactly once, even if delivered multiple times.2xx within the response timeout. Defer non-trivial work to an asynchronous worker.data field reflects the state at the moment the event was emitted. For business decisions, fetch the latest state from the corresponding REST API (for example, the Order API).X-Bun-Webhook-Signature header, with code examples in Node.js, Kotlin, and Python.