Configure access
In Hallify, choose the venue → Settings → Fulfillment → resource settings → Integrations. An administrator with preorders.external.manage creates the credential and selects allowed sales channels and scopes. In Public channel, configure an active channel and its service actor. Copy the key once to your server.
Cabinet route: /venues/:venueId/settings/fulfillment. Grant catalog:read, quotes:write, orders:write and orders:read for the four methods; webhooks:manage is separate. Replace :venueId with the selected venue ID.
First successful workflow
Follow these steps in order. Open each method for its exact body, required headers and response schema.
- GET catalog with an authorized salesChannelId; retain the returned menu identity and graph token.
- POST quotes using that catalog, selected products, fulfillment mode and available future slot. Retain quoteId, quoteToken and expiresAt.
- POST orders with the accepted quote, matching inputs and a fresh Idempotency-Key. Retain orderId, fulfillmentId and revision.
- GET orders/{orderId} or consume configured webhooks to observe the permitted partner projection.
State, retries and recovery
A quote is time-limited and single-use. Requote after expiry or material changes. The initial fulfillment is HELD or CONFIRMED according to policy; a successful create does not mean the order was paid or completed. There is no partner list-all, cancel or amend endpoint in this four-operation surface.