When to use reserve webhooks
Use this for COMPLEX (unique unit) inventory when you generate keys or accounts in your own system at purchase time. Local stock is always preferred; the webhook fills only the shortfall.
- Works with INSTANT auto-delivery only when every unit is actually assigned.
- Configure an offer-level default, or override per pricing option.
- HTTPS only. Optional HMAC signing matches outbound webhooks.
Payment-safe failures
If your endpoint times out or returns invalid data, the order stays PAID. The buyer is charged; you see an error on the order and can retry reserve or attach keys manually.
Request contract
After payment, RMT POSTs one reserve.item call per missing unit with order, offer, option, field schema, and quantity 1. Optional request template JSON is merged with {{placeholders}}.
Canonical POST body (truncated)
{
"id": "rsv_…",
"type": "reserve.item",
"order": { "uid": "…", "reference": "…", "url": "…" },
"offer": { "url": "…", "title": "…", "pageUrl": "…" },
"option": { "id": 1, "name": "Standard" },
"fields": [{ "id": 10, "name": "License", "type": "text", "required": true }],
"quantity": 1
}Response and field mapping
Return 2xx JSON. Map paths like $.license onto Item fields, or return { "entries": [{ "fieldId": 10, "value": "KEY-…" }] }.
Convenience response
{
"entries": [
{ "name": "License", "value": "AAAA-BBBB-CCCC" }
]
}- License-only: map one text field from $.license or $.key.
- Account: map email and password fields from $.email and $.password.
- Missing required fields after mapping counts as failure.
Test, retry, and security
Use Test in the offer editor (sends dryRun: true). On the order page, Retry reserve after fixing your endpoint. Never log secrets or full keys in emails.
- 1Save HTTPS URL, response map, and optional secret on the offer Items step.
- 2Run Test and confirm mapped previews.
- 3On failure, open the order, retry reserve, or create/assign a key manually.
Do not call reserve before payment
RMT only calls your endpoint after payment succeeds, so abandoned checkouts do not burn licenses.