Webhooks

gift_voucher.redeemed

Shyni sends a POST to your endpoint when this event happens. Before you trust the body, verify the signature.

A gift voucher was redeemed. Sent to the endpoint URL when the event happens. Answer 2xx within 15 seconds. Verify the signature before trusting the body. See the webhooks guide.

Header Parameters

Shyni-Signature*string

t=<unix seconds>,v1=<hex>[,v1=<hex>], HMAC-SHA256 of "<t>.<raw body>" keyed with the endpoint secret. See the webhooks guide.

Shyni-Event-Id*string

Same as the envelope id. Stable across retries, dedupe on it.

Shyni-Event-Type*string

Same as the envelope type.

Request Body

application/json
  1. body

Webhook body for gift_voucher.* events; data is the voucher as the REST API returns it.

id*string
type*string

Event name, e.g. gift_voucher.sold.

createdAt*string
Formatdate-time
apiVersion*string
businessId*string

The business (studio) the event happened in - the value sent as Shyni-Business.

data*

Response Body

Delivery acknowledged. Any 2xx counts as delivered; the body is ignored.

Example payload

Shyni sends a POST to your endpoint

{  "id": "f3a1c2d4-6b7e-4a80-9c15-0e2d4b6a8014",  "type": "gift_voucher.redeemed",  "createdAt": "2026-10-09T08:53:20Z",  "apiVersion": "v1",  "businessId": "5d0b8e4a-7c21-4f3e-9a66-1b2c3d4e5f60",  "data": {    "id": "c4e81f37-92ab-4d65-8f10-a3b7d9e2c640",    "code": "MU-6SX6X",    "value": 150000,    "remaining": 51000,    "currency": "CZK",    "state": "ACTIVE",    "issuedVia": "ONLINE",    "paidAt": "2026-10-09T08:50:00Z",    "validUntil": "2026-10-09",    "buyer": {      "name": "Jana Novakova",      "email": "jana@example.cz"    },    "billing": null,    "motif": "CLASSIC",    "dedication": "Enjoy!",    "note": null,    "externalRef": null,    "redeemedOrderId": "68aa1b98-3c1e-4f0a-9d2b-5e7f1a2b3c4d",    "redeemedAt": "2026-10-16T10:05:00Z",    "redemptions": [      {        "orderId": "68aa1b98-3c1e-4f0a-9d2b-5e7f1a2b3c4d",        "amount": 99000,        "redeemedAt": "2026-10-16T10:05:00Z"      }    ],    "notification": null,    "createdAt": "2026-10-09T08:50:05Z"  }}