Estimated Time: Under 15 minutes
Prerequisites
- Your API key (format:
zupy_pk_*) — provided by the Zupy team during onboarding - The company ID for the restaurant you’re integrating with
- Your integration slug (e.g.,
repediu) for webhook URLs
Step 1: Verify Your API Key
Test your credentials with a simple customer search:Phone format: The
phone parameter accepts digits only (e.g., 5511987654321). The API normalizes all phone numbers to E.164 format (+5511987654321) internally, so any input format will match the same customer.200 response (even if no customers match):
401 error in RFC 7807 format:
Step 2: Send a Test Webhook
Send order data to Zupy. Replace{partner} with your integration slug (e.g., repediu).
The webhook accepts any JSON payload — Zupy stores it raw and processes it asynchronously using a partner-specific adapter. During onboarding, the Zupy team will map your payload format. For new integrations, use this standard catch-all format:
{data, meta} envelope):
200 with "status": "received". Orders are processed in a background queue (typically within seconds).
Idempotency: Sending the same payload twice returns
"status": "duplicate" — no error, no double-processing. Zupy computes a SHA-256 hash of the request body to detect duplicates.Step 3: Look Up the Customer
After the webhook processes (typically within seconds), search for the customer:{data, meta} envelope):
Step 4: Check Points Balance
{data, meta} envelope):
You’re Integrated!
You’ve successfully verified your API key, sent order data via webhook, looked up a customer, and checked their points balance.Error Handling
All errors use the RFC 7807 Problem Details format:| Status | Type | When It Occurs |
|---|---|---|
| 401 | authentication-required | Missing or invalid X-API-Key header |
| 403 | permission-denied | Read-only key attempting a write operation |
| 429 | rate-limit-exceeded | Too many requests — check Retry-After header |
Retry logic for rate limits
Retry logic for rate limits
When you receive a
429 response, wait for the Retry-After header duration before retrying:Next Steps
Authentication
Learn about access levels, rate limits, OTP, and security best practices
Webhook Setup
Configure webhooks for automatic order processing and customer enrollment
API Reference
Browse all endpoints with request/response schemas
Partner Onboarding
Complete the onboarding checklist for production deployment