Skip to main content
This guide walks partners through integrating the SmartMenu API into their ordering platform.

Prerequisites

Before starting integration:
  1. API Key: Obtain from EveryBite partnership team
  2. Chain Setup: Your restaurant chain(s) configured in EveryBite
  3. Data Sync: Menu data synced between your ordering system and EveryBite
  4. 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 filterOptions query

Phase 2: Session Tracking

  • Implement startSession mutation when user begins ordering
  • Pass a stable guest identifier (and Passport ID or email if applicable) to startSession
  • Store returned sessionId and include in X-Session-ID header on all subsequent calls

Phase 3: Core Functionality

  • Implement search with search query
  • Display match groups (matches, almost matches, not matches)
  • Implement dish details with dish query
  • 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

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