Go-live checklist
Production credentials are issued after a certification review of your app. The review is not a formality, but it is not a mystery either — everything it checks is listed here, and everything is verifiable by you in sandbox before you submit.
Quality bar
Section titled “Quality bar”These are the standards production integrations are held to, at review time and continuously afterwards:
| Metric | Requirement |
|---|---|
| Order injection success | ≥ 99% of order.created deliveries acknowledged with 2xx on the first or second attempt |
| Time to accept | Orders accepted or denied within 5 minutes of order.created |
| Webhook acknowledgement | 2xx returned within the 10-second delivery timeout |
| Menu accuracy | Menu on Quiqqy matches the POS; availability changes reflected within 60 seconds |
| Denial hygiene | Denials use structured reasons; OTHER is the exception, not the norm |
Certification checklist
Section titled “Certification checklist”-
Webhook endpoint
Section titled “Webhook endpoint”- HTTPS with a valid, non-self-signed TLS certificate; no redirects.
X-Quiqqy-Signatureverified against the raw body with a constant-time compare; requests with a bad signature rejected — demonstrated with the console’s test-delivery button.- Deliveries deduped on
X-Quiqqy-Delivery-Id. - Responds
2xxin under 10 seconds with processing done asynchronously.
-
Store onboarding
Section titled “Store onboarding”- Full signup_url → consent → token → integrate-store flow completed against a sandbox store.
stateparameter used and verified on the OAuth callback.webhook_secretfrom the integrate-store response stored server-side.- Token refresh working;
auth.consent_revokedhandled by stopping sync and prompting for re-consent, not by retrying in a loop.
-
Menu sync
Section titled “Menu sync”- Full menu pushed with stable
external_ids on every item, variant, category and modifier group. - The
202async path handled: job polled to completion, failures surfaced. action_requiredwithaction: "menu_push"answered with a fresh full push.- Item availability updates wired to the POS’s 86 flow.
- Full menu pushed with stable
-
Order handling
Section titled “Order handling”- Test orders of each type (delivery, pickup, with modifiers and variants)
accepted and driven through
confirmed → preparing → readyto completion. - Order lines mapped by
external_id, with aproduct_namefallback for lines your app did not sync. - Denials sent with each structured reason at least once, including
ITEM_OUT_OF_STOCKwithitems[]. - Prep time set via
estimated_prep_time_minuteswhere the POS knows it.
- Test orders of each type (delivery, pickup, with modifiers and variants)
accepted and driven through
-
Failure handling
Section titled “Failure handling”- Retries with backoff and jitter on
429/5xx;Retry-Afterhonoured. 4xxresponses not retried blindly.- POS-offline behaviour defined: orders are denied with
POS_OFFLINEor the store is paused — they do not silently vanish.
- Retries with backoff and jitter on
The review process
Section titled “The review process”Submit from the console: Apps → your app → Submit for review. The submission asks for a support contact (email reachable by Quiqqy operations), a short demo video or a sandbox store the reviewer can inspect, and confirmation of each checklist section.
A reviewer replays the critical paths against your sandbox integration — signature rejection, order accept, a denial, a menu push. Reviews are typically answered within five business days. If changes are requested, the notes appear on the app’s overview page; fix and resubmit.
On approval, production credentials are issued in the app’s Credentials tab and your app can begin onboarding live merchants.