Prerequisites
Before starting integration:- API Key: Obtain from EveryBite partnership team
- Chain Setup: Your restaurant chain(s) configured in EveryBite
- Data Sync: Menu data synced between your ordering system and EveryBite
- Nutrition Data: Restaurant has provided nutrition/allergen data
Integration Checklist
Phase 1: Setup
- Receive API key and staging environment access
- Confirm chain ID(s) for your restaurants
- Verify menu data sync is complete
- Test authentication with
filterOptionsquery
Phase 2: Session Tracking
- Implement
startSessionmutation when user begins ordering - Pass chain, platform, guest identity, and passport (if applicable) to
startSession - Store returned
sessionIdand include inX-Session-IDheader on all subsequent calls
Phase 3: Core Functionality
- Implement search with
searchquery - Display match groups (matches, almost matches, not matches)
- Implement dish details with
dishquery - Display nutrition panel and allergen badges
Phase 4: Enhanced Features
- Implement BYO customization (if applicable)
- Real-time nutrition calculation
- Ingredient-level allergen warnings
Phase 5: Go Live
- Switch to production API key
- Verify analytics events flowing to EveryBite
- Monitor error rates and latency
- Update privacy policy
Implementation Patterns
Pattern 1: Filter-First Experience
Best for apps where personalization is the primary feature. Example Implementation:Pattern 2: Overlay Enhancement
Best for apps with existing menu browsing where personalization is secondary.Pattern 3: Real-Time BYO
For customizable dishes with live nutrition updates.GraphQL Client Setup
Apollo Client (React)
Fetch (Vanilla JS)
Python (requests)
Testing
Staging Environment
Use staging environment for development and testing:Test Scenarios
| Scenario | Expected Result |
|---|---|
| Search with no preferences | Returns all dishes ungrouped |
| Search with Vegetarian | Meat dishes in “Not Matches” |
| Search with allergen exclusion | Dishes with allergen in “Not Matches” |
| View dish with allergens | Allergen badges displayed |
| BYO with allergen ingredient | Warning displayed |
| Invalid session ID | 400 error with clear message |
| Missing required header | 400 error specifying which header |
Sample Test Queries
Remember to include the
X-Session-ID header with a valid session ID on all requests. See the Session endpoint for details on starting a session.Go-Live Checklist
- Switch to production API key and endpoint
- Update base URL to
https://api.everybite.com/smartmenu/graphql - Verify all required headers are sent on every request
- Test error handling in production
- Monitor latency and error rates
- Confirm analytics events visible in EveryBite dashboard
- Update privacy policy to disclose data sharing with EveryBite
Support
- Technical Issues: api-partnerships@everybite.com
- Partnership Questions: api-partnerships@everybite.com
- Security Concerns: security@everybite.com

